├── .ruby-version
├── .node-version
├── layouts
├── empty.html
├── v2-private-beta-platform.html
├── colorscheme.html
├── v2-preview-endpoint.html
├── v2-public-beta-feature.html
└── default.html
├── content
├── sitemap.erb
├── robots.txt.erb
├── assets
│ ├── images
│ │ ├── border.jpg
│ │ ├── favicon.ico
│ │ ├── features
│ │ │ ├── dcp.png
│ │ │ └── whats-new-summer-2023.png
│ │ ├── vendors
│ │ │ ├── linux-foundation-color.png
│ │ │ └── linux-foundation-white.png
│ │ ├── ruby.svg
│ │ ├── node.svg
│ │ ├── elixir.svg
│ │ ├── moon.svg
│ │ ├── dotnet.svg
│ │ ├── php.svg
│ │ ├── java.svg
│ │ └── sun.svg
│ └── css
│ │ ├── tabs.scss
│ │ ├── syntax.scss
│ │ ├── style.scss
│ │ ├── variables.scss
│ │ ├── template.scss
│ │ └── dual_cta.scss
├── 404.markdown
├── ddns
│ └── ddns.sh
├── v2
│ ├── platform.markdown
│ ├── identity.markdown
│ ├── templates
│ │ └── domains.markdown
│ └── accounts.markdown
└── use-cases.markdown
├── .env.example
├── .gitignore
├── .tool-versions
├── _test
├── test_helper.rb
└── content_test.rb
├── _redirects
├── bin
└── download_fixture.sh
├── fixtures
└── v2
│ ├── api
│ ├── method-not-allowed.http
│ ├── success-with-malformed-json.http
│ ├── notfound-zone.http
│ ├── notfound-contact.http
│ ├── notfound-record.http
│ ├── notfound-webhook.http
│ ├── notfound-domainpush.http
│ ├── notfound-template.http
│ ├── badgateway.http
│ ├── notfound-domain.http
│ ├── notfound-emailforward.http
│ ├── notfound-delegationSignerRecord.http
│ ├── notfound-whoisprivacy.http
│ ├── deleteZoneRecord
│ │ └── success.http
│ ├── applyTemplate
│ │ └── success.http
│ ├── deleteContact
│ │ ├── success.http
│ │ └── error-contact-in-use.http
│ ├── deleteWebhook
│ │ └── success.http
│ ├── deleteTemplate
│ │ └── success.http
│ ├── deleteDomain
│ │ └── success.http
│ ├── deleteTemplateRecord
│ │ └── success.http
│ ├── enableDomainAutoRenewal
│ │ └── success.http
│ ├── authorizeDomainTransferOut
│ │ └── success.http
│ ├── disableDomainAutoRenewal
│ │ └── success.http
│ ├── listCharges
│ │ ├── fail-403.http
│ │ └── fail-400-bad-filter.http
│ ├── deleteRegistrantChange
│ │ ├── success.http
│ │ └── success_async.http
│ ├── notfound-certificate.http
│ ├── renewDomain
│ │ ├── error-tooearly.http
│ │ └── success.http
│ ├── transferDomain
│ │ ├── error-indnsimple.http
│ │ ├── error-missing-authcode.http
│ │ └── success.http
│ ├── response.http
│ ├── checkRegistrantChange
│ │ ├── error-contactnotfound.http
│ │ ├── error-domainnotfound.http
│ │ └── success.http
│ ├── getDomainPremiumPrice
│ │ ├── failure.http
│ │ └── success.http
│ ├── acceptPush
│ │ └── success.http
│ ├── getDomainDelegation
│ │ ├── success-empty.http
│ │ └── success.http
│ ├── rejectPush
│ │ └── success.http
│ ├── applyService
│ │ └── success.http
│ ├── disableDnssec
│ │ ├── success.http
│ │ └── not-enabled.http
│ ├── unapplyService
│ │ └── success.http
│ ├── disableVanityNameServers
│ │ └── success.http
│ ├── getTldExtendedAttributes
│ │ └── success-noattributes.http
│ ├── deleteDelegationSignerRecord
│ │ └── success.http
│ ├── changeDomainDelegationFromVanity
│ │ └── success.http
│ ├── pages-3of3.http
│ ├── getWebhook
│ │ └── success.http
│ ├── checkDomain
│ │ └── success.http
│ ├── pages-1of3.http
│ ├── pages-2of3.http
│ ├── createWebhook
│ │ └── created.http
│ ├── changeDomainDelegation
│ │ └── success.http
│ ├── deleteEmailForward
│ │ └── success.http
│ ├── checkDomainPremiumPrice
│ │ ├── error_400_tld_not_supported.http
│ │ ├── error_400_not_a_premium_domain.http
│ │ └── success.http
│ ├── oauthAccessToken
│ │ ├── success.http
│ │ └── error-invalid-request.http
│ ├── listWebhooks
│ │ └── success.http
│ ├── renewWhoisPrivacy
│ │ ├── whois-privacy-not-found.http
│ │ ├── whois-privacy-duplicated-order.http
│ │ └── success.http
│ ├── batchChangeZoneRecords
│ │ ├── error_400_delete_validation_failed.http
│ │ ├── error_400_update_validation_failed.http
│ │ └── error_400_create_validation_failed.http
│ ├── whoami
│ │ ├── success-user.http
│ │ ├── success.http
│ │ └── success-account.http
│ ├── getDomainPrices
│ │ ├── failure.http
│ │ └── success.http
│ ├── getWhoisPrivacy
│ │ └── success.http
│ ├── disableWhoisPrivacy
│ │ └── success.http
│ ├── enableWhoisPrivacy
│ │ ├── created.http
│ │ └── success.http
│ ├── getTemplate
│ │ └── success.http
│ ├── updateTemplate
│ │ └── success.http
│ ├── createTemplate
│ │ └── created.http
│ ├── getDomainTransferLock
│ │ └── success.http
│ ├── registerDomain
│ │ ├── error-extended-attributes.http
│ │ └── success.http
│ ├── checkZoneDistribution
│ │ ├── failure.http
│ │ ├── success.http
│ │ └── error.http
│ ├── disableDomainTransferLock
│ │ └── success.http
│ ├── checkZoneRecordDistribution
│ │ ├── failure.http
│ │ ├── success.http
│ │ └── error.http
│ ├── enableDomainTransferLock
│ │ └── success.http
│ ├── getTemplateRecord
│ │ └── success.http
│ ├── createRegistrantChange
│ │ └── success.http
│ ├── createTemplateRecord
│ │ └── created.http
│ ├── getZone
│ │ └── success.http
│ ├── createDelegationSignerRecord
│ │ ├── validation-error.http
│ │ └── created.http
│ ├── createZoneRecord
│ │ ├── created.http
│ │ └── created-apex.http
│ ├── getDnssec
│ │ └── success.http
│ ├── enableDnssec
│ │ └── success.http
│ ├── activateZoneService
│ │ └── success.http
│ ├── deactivateZoneService
│ │ └── success.http
│ ├── getRegistrantChange
│ │ └── success.http
│ ├── cancelDomainTransfer
│ │ └── success.http
│ ├── getDomainRenewal
│ │ └── success.http
│ ├── initiatePush
│ │ └── success.http
│ ├── accounts
│ │ ├── success-account.http
│ │ └── success-user.http
│ ├── listAccounts
│ │ ├── success-account.http
│ │ └── success-user.http
│ ├── purchaseLetsencryptCertificate
│ │ └── success.http
│ ├── getDomainRestore
│ │ └── success.http
│ ├── listRegistrantChanges
│ │ └── success.http
│ ├── restoreDomain
│ │ └── success.http
│ ├── getDomainRegistration
│ │ └── success.http
│ ├── purchaseRenewalLetsencryptCertificate
│ │ └── success.http
│ ├── issueLetsencryptCertificate
│ │ └── success.http
│ ├── listEmailForwards
│ │ └── success.http
│ ├── getZoneRecord
│ │ └── success.http
│ ├── issueRenewalLetsencryptCertificate
│ │ └── success.http
│ ├── updateZoneRecord
│ │ └── success.http
│ ├── getDomainTransfer
│ │ └── success.http
│ ├── getPrimaryServer
│ │ └── success.http
│ ├── unlinkPrimaryServer
│ │ └── success.http
│ ├── validation-error.http
│ ├── createPrimaryServer
│ │ └── created.http
│ ├── getDelegationSignerRecord
│ │ └── success.http
│ ├── listTemplates
│ │ └── success.http
│ ├── getContact
│ │ └── success.http
│ ├── updateContact
│ │ └── success.http
│ ├── createContact
│ │ ├── error-validation-errors.http
│ │ └── created.http
│ ├── createSecondaryZone
│ │ └── created.http
│ ├── getTld
│ │ └── success.http
│ ├── linkPrimaryServer
│ │ └── success.http
│ ├── changeDomainDelegationToVanity
│ │ └── success.http
│ ├── getService
│ │ └── success.http
│ ├── listTemplateRecords
│ │ └── success.http
│ ├── createDomain
│ │ └── created.http
│ ├── getZoneFile
│ │ └── success.http
│ ├── getDomain
│ │ └── success.http
│ ├── getEmailForward
│ │ └── success.http
│ ├── createEmailForward
│ │ └── created.http
│ ├── listDelegationSignerRecords
│ │ └── success.http
│ ├── listZones
│ │ └── success.http
│ ├── listPushes
│ │ └── success.http
│ ├── appliedServices
│ │ └── success.http
│ ├── listPrimaryServers
│ │ └── success.http
│ ├── enableVanityNameServers
│ │ └── success.http
│ ├── listTlds
│ │ └── success.http
│ ├── listDomains
│ │ └── success.http
│ └── listContacts
│ │ └── success.http
│ └── webhooks
│ ├── webhook.create
│ └── example.http
│ ├── webhook.delete
│ └── example.http
│ ├── zone.create
│ └── example.http
│ ├── zone.delete
│ └── example.http
│ ├── account.update
│ └── example.http
│ ├── subscription.renew
│ └── state-failed.http
│ ├── account.user_remove
│ └── example.http
│ ├── domain.transfer
│ ├── status-started.http
│ ├── status-cancelled.http
│ └── example.http
│ ├── domain.create
│ └── example.http
│ ├── dnssec.create
│ └── example.http
│ ├── dnssec.delete
│ └── example.http
│ ├── domain.register
│ ├── status-started.http
│ ├── example.http
│ └── status-cancelled.http
│ ├── domain.renew
│ ├── status-started.http
│ ├── status-cancelled.http
│ └── example.http
│ ├── domain.restore
│ ├── status-cancelled.http
│ ├── status-started.http
│ └── example.http
│ ├── domain.delete
│ └── example.http
│ ├── domain.transfer_lock_disable
│ └── example.http
│ ├── domain.transfer_lock_enable
│ └── example.http
│ ├── account.sso_user_add
│ └── example.http
│ ├── email_forward.activate
│ └── example.http
│ ├── domain.resolution_disable
│ └── example.http
│ ├── domain.resolution_enable
│ └── example.http
│ ├── email_forward.deactivate
│ └── example.http
│ ├── email_forward.delete
│ └── example.http
│ ├── email_forward.update
│ └── example.http
│ ├── zone_record.create
│ └── example.http
│ ├── domain.auto_renewal_disable
│ └── example.http
│ ├── domain.auto_renewal_enable
│ └── example.http
│ ├── zone_record.delete
│ └── example.http
│ ├── zone_record.update
│ └── example.http
│ ├── email_forward.create
│ └── example.http
│ ├── account.billing_settings_update
│ └── example.http
│ ├── account.user_invite
│ └── example.http
│ ├── domain.delegation_change
│ └── example.http
│ ├── account.user_invitation_revoke
│ └── example.http
│ ├── account.user_invitation_accept
│ └── example.http
│ ├── contact.create
│ └── example.http
│ ├── contact.delete
│ └── example.http
│ ├── contact.update
│ └── example.http
│ ├── whois_privacy.renew
│ └── example.http
│ ├── whois_privacy.enable
│ └── example.http
│ ├── whois_privacy.purchase
│ └── example.http
│ ├── whois_privacy.disable
│ └── example.http
│ └── dnssec.rotation_start
│ └── example.http
├── lib
├── postprocess_filter.rb
├── preprocess_filter.rb
├── search.rb
└── default.rb
├── netlify.toml
├── Gemfile
├── src
├── index.js
└── components
│ └── tabs.vue
├── .github
└── dependabot.yml
├── webpack.config.js
├── CONTRIBUTING.md
└── package.json
/.ruby-version:
--------------------------------------------------------------------------------
1 | 3.4.2
2 |
--------------------------------------------------------------------------------
/.node-version:
--------------------------------------------------------------------------------
1 | 22.17.1
2 |
--------------------------------------------------------------------------------
/layouts/empty.html:
--------------------------------------------------------------------------------
1 | <%= yield %>
2 |
--------------------------------------------------------------------------------
/content/sitemap.erb:
--------------------------------------------------------------------------------
1 | <%= xml_sitemap %>
2 |
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | S3_ID=ACCESS_ID
2 | S3_SECRET=ACCESS_KEY
3 |
4 |
--------------------------------------------------------------------------------
/content/robots.txt.erb:
--------------------------------------------------------------------------------
1 | Sitemap: <%= @items['/sitemap/'].path %>
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.sass-cache
2 | /output
3 | /tmp
4 | /node_modules
5 | /dist
6 |
7 | /.env
8 | /crash.log
9 |
--------------------------------------------------------------------------------
/content/assets/images/border.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/border.jpg
--------------------------------------------------------------------------------
/.tool-versions:
--------------------------------------------------------------------------------
1 | # Update also: .ruby-version & .node-version for netlify w/o trailing newline
2 | ruby 3.4.2
3 | nodejs 22.17.1
4 |
--------------------------------------------------------------------------------
/content/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/favicon.ico
--------------------------------------------------------------------------------
/content/assets/images/features/dcp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/features/dcp.png
--------------------------------------------------------------------------------
/content/assets/css/tabs.scss:
--------------------------------------------------------------------------------
1 | .tab-content {
2 | pre {
3 | padding: 0;
4 | background: transparent;
5 | border: 0;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/_test/test_helper.rb:
--------------------------------------------------------------------------------
1 | require 'rubygems'
2 | require 'bundler/setup'
3 | require 'minitest/autorun'
4 | require 'minitest/reporters'
5 |
6 | Minitest::Reporters.use!
7 |
--------------------------------------------------------------------------------
/content/assets/images/features/whats-new-summer-2023.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/features/whats-new-summer-2023.png
--------------------------------------------------------------------------------
/content/assets/images/vendors/linux-foundation-color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/vendors/linux-foundation-color.png
--------------------------------------------------------------------------------
/content/assets/images/vendors/linux-foundation-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dnsimple/dnsimple-developer/HEAD/content/assets/images/vendors/linux-foundation-white.png
--------------------------------------------------------------------------------
/_redirects:
--------------------------------------------------------------------------------
1 | /v2/webhooks /v2/webhooks/webhooks
2 | /v2/webhooks/index.html /v2/webhooks/webhooks/
3 | /v2/domains/collaborators /v2/domains/
4 | /v2/domains/collaborators/index.html /v2/domains/
5 |
--------------------------------------------------------------------------------
/layouts/v2-private-beta-platform.html:
--------------------------------------------------------------------------------
1 |
2 | This API is part of the Platform API and is currently in Private Beta. During the Private Beta period changes may occur at any time.
3 |
4 |
--------------------------------------------------------------------------------
/layouts/colorscheme.html:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/bin/download_fixture.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | body=${4:-"{}"}
4 |
5 | curl -s \
6 | -i \
7 | --http1.1 \
8 | -H "Authorization: Bearer $1" \
9 | -H 'Content-Type: application/json' \
10 | -H 'Accept: application/json' \
11 | -X $2 \
12 | $3 -d $body |
13 | sed '/Transfer-Encoding/d'
14 |
--------------------------------------------------------------------------------
/content/assets/images/ruby.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/assets/images/node.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/method-not-allowed.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 405 Method Not Allowed
2 | Server: nginx
3 | Date: Fri, 15 Apr 2016 14:15:04 GMT
4 | Connection: keep-alive
5 | Status: 405 Method Not Allowed
6 | Allow: DELETE, GET, HEAD, PATCH, POST
7 | Cache-Control: no-cache
8 | X-Request-Id: 64c0a5e1-4cbb-4287-98a7-93085a77ac55
9 | X-Runtime: 0.050104
10 |
11 |
--------------------------------------------------------------------------------
/fixtures/v2/api/success-with-malformed-json.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 22 Dec 2014 14:16:12 GMT
4 | Content-Type: text/html
5 | Connection: close
6 |
7 |
8 |
200 OK
9 |
10 | 200 OK
11 | nginx
12 |
13 |
14 |
--------------------------------------------------------------------------------
/lib/postprocess_filter.rb:
--------------------------------------------------------------------------------
1 | class PostprocessFilter < Nanoc::Filter
2 | identifier :postprocess
3 |
4 | def run(content, params = {})
5 | content = content.dup
6 | format_table content
7 | content
8 | end
9 |
10 | private
11 |
12 | def format_table(content)
13 | content.gsub!(//, '')
14 | end
15 |
16 | end
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-zone.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Fri, 22 Jan 2016 16:46:02 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 9c19bef5-6902-421c-9f91-dec3bae26102
9 | X-Runtime: 0.014705
10 |
11 | {"message":"Zone `0` not found"}
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-contact.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 21:04:48 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: a57d4e23-3155-477e-8469-e897b27c03e5
9 | X-Runtime: 0.014159
10 |
11 | {"message":"Contact `0` not found"}
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-record.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Fri, 22 Jan 2016 16:46:07 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 35af0fd2-d020-4f70-861e-b6a42a190bf6
9 | X-Runtime: 0.018847
10 |
11 | {"message":"Record `0` not found"}
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-webhook.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Thu, 03 Mar 2016 11:55:29 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 4f154fa2-3ce9-4bdd-88a3-42ccc8dbc087
9 | X-Runtime: 0.012159
10 |
11 | {"message":"Webhook `0` not found"}
12 |
--------------------------------------------------------------------------------
/layouts/v2-preview-endpoint.html:
--------------------------------------------------------------------------------
1 |
2 | This endpoint is currently in Public Preview. During the Preview, period changes may occur at any time.
3 | Consider using our official clients to reduce the likelihood of breaking changes. If you are using or planning to use this endpoint we'd like to hear your feedback .
4 |
5 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-domainpush.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Thu, 04 Feb 2016 14:44:56 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 50eea494-cc14-4db0-bc11-306aa525bbfd
9 | X-Runtime: 0.028036
10 |
11 | {"message":"Domain push `0` not found"}
12 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-template.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Wed, 04 May 2016 09:35:45 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 8d380d93-b974-4d51-82a3-5b10bce4167a
9 | X-Runtime: 0.071884
10 |
11 | {"message":"Template `beta` not found"}
--------------------------------------------------------------------------------
/fixtures/v2/api/badgateway.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 502 Bad Gateway
2 | Server: nginx
3 | Date: Mon, 22 Dec 2014 14:16:12 GMT
4 | Content-Type: text/html
5 | Content-Length: 166
6 | Connection: close
7 |
8 |
9 | 502 Bad Gateway
10 |
11 | 502 Bad Gateway
12 | nginx
13 |
14 |
15 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-domain.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Wed, 16 Dec 2015 22:07:20 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Strict-Transport-Security: max-age=31536000
7 | Cache-Control: no-cache
8 | X-Request-Id: bc587ea7-bcd5-4c10-a940-a9b4c8339824
9 | X-Runtime: 0.059966
10 |
11 | {"message":"Domain `0` not found"}
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-emailforward.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Thu, 04 Feb 2016 14:44:56 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 50eea494-cc14-4db0-bc11-306aa525bbfd
9 | X-Runtime: 0.028036
10 |
11 | {"message":"Email forward `0` not found"}
12 |
--------------------------------------------------------------------------------
/content/404.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Page Not Found
3 | is_hidden: true
4 | ---
5 |
6 | # Page Not Found
7 |
8 | It looks like you've stumbled across an URL that doesn't exist or longer works. Here are some things you can try:
9 |
10 | - Click on one of the topics to the right.
11 | - [Contact us](https://dnsimple.com/contact) and let us know that there is a broken link and we'll try to fix it.
12 |
--------------------------------------------------------------------------------
/content/assets/images/elixir.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-delegationSignerRecord.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Thu, 04 Feb 2016 14:44:56 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: 50eea494-cc14-4db0-bc11-306aa525bbfd
9 | X-Runtime: 0.028036
10 |
11 | {"message":"Delegation signer record `0` not found"}
12 |
--------------------------------------------------------------------------------
/layouts/v2-public-beta-feature.html:
--------------------------------------------------------------------------------
1 |
2 | This article describes a feature in Public Beta.
3 | During the beta period, changes to the individual endpoints may occur at any time. Consider using our official clients to reduce the likelihood of breaking changes. If you are using or planning to use this endpoint we'd like to hear your feedback .
4 |
5 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-whoisprivacy.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Sat, 13 Feb 2016 14:34:32 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 404 Not Found
7 | Cache-Control: no-cache
8 | X-Request-Id: d5ce788e-bd8d-4edb-bcd6-50a1deacd595
9 | X-Runtime: 0.031090
10 |
11 | {"message":"Whois privacy for example-1455121347.com not found"}
--------------------------------------------------------------------------------
/content/assets/css/syntax.scss:
--------------------------------------------------------------------------------
1 | code {
2 | .m, .mf, .mh, .mi, .mo { color: var(--blue) }; // Numbers
3 | .s, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx ,.s1, .s2, .sr, .ss { color: var(--green); } // Strings
4 | .cm, .c, .cp, .c1 { color: var(--gray); } // Comments
5 | .k, .o, .kc, .kd, .kp, .kr { font-weight: bold } // keywords
6 | .err, .gr { color: var(--orange) } // Errors
7 | .nc { color: var(--blue); } // class names
8 | }
9 |
--------------------------------------------------------------------------------
/content/assets/images/moon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteZoneRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Thu, 07 Jan 2016 18:06:28 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3987
8 | X-RateLimit-Reset: 1452189987
9 | Cache-Control: no-cache
10 | X-Request-Id: 776cea0f-98ae-4550-9a2e-81f8ab27f82b
11 | X-Runtime: 0.099235
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | publish = "output"
3 | command = "NANOC_ENV=production rake publish"
4 |
5 | [[headers]]
6 | for = "/search.json"
7 | [headers.values]
8 | Access-Control-Allow-Origin = "*"
9 |
10 | [[headers]]
11 | for = "/*"
12 | [headers.values]
13 | X-Frame-Options = "DENY"
14 | X-XSS-Protection = "1; mode=block"
15 |
16 | [[redirects]]
17 | from = "/*"
18 | to = "/404"
19 | status = 404
20 |
--------------------------------------------------------------------------------
/fixtures/v2/api/applyTemplate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:05:38 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2397
8 | X-RateLimit-Reset: 1458821049
9 | Cache-Control: no-cache
10 | X-Request-Id: 967713d5-a203-40ee-875c-1df07868b7eb
11 | X-Runtime: 0.147576
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteContact/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 21:49:42 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3999
8 | X-RateLimit-Reset: 1453243782
9 | Cache-Control: no-cache
10 | X-Request-Id: 10c8528b-569b-4152-a89c-fc9c5f94afe9
11 | X-Runtime: 0.029858
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteWebhook/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Mon, 15 Feb 2016 17:05:39 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3993
8 | X-RateLimit-Reset: 1455559348
9 | Cache-Control: no-cache
10 | X-Request-Id: d681e116-4a27-45a6-b571-3f74bfafb1f4
11 | X-Runtime: 0.520613
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteTemplate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:05:38 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2397
8 | X-RateLimit-Reset: 1458821049
9 | Cache-Control: no-cache
10 | X-Request-Id: 967713d5-a203-40ee-875c-1df07868b7eb
11 | X-Runtime: 0.147576
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Fri, 18 Dec 2015 16:13:54 GMT
4 | Connection: keep-alive
5 | Strict-Transport-Security: max-age=31536000
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3990
8 | X-RateLimit-Reset: 1450455233
9 | Cache-Control: no-cache
10 | X-Request-Id: a2924814-4aff-42cf-9785-9327ce097d0a
11 | X-Runtime: 0.241247
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteTemplateRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Tue, 03 May 2016 08:00:35 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2397
8 | X-RateLimit-Reset: 1462265481
9 | Cache-Control: no-cache
10 | X-Request-Id: f0a48944-1c61-41f4-b379-04f8644d883b
11 | X-Runtime: 0.122787
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/enableDomainAutoRenewal/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Fri, 12 Feb 2016 11:13:38 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3997
8 | X-RateLimit-Reset: 1455279163
9 | Cache-Control: no-cache
10 | X-Request-Id: 46e77cb2-157e-4740-8cd3-f20d4d653c95
11 | X-Runtime: 7.702967
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/authorizeDomainTransferOut/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Sun, 21 Feb 2016 13:40:35 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3990
8 | X-RateLimit-Reset: 1456063540
9 | Cache-Control: no-cache
10 | X-Request-Id: 9af6ab78-7ea8-4675-89f0-14d124fc7ca2
11 | X-Runtime: 3.038699
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableDomainAutoRenewal/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Fri, 12 Feb 2016 11:15:46 GMT
4 | Connection: keep-alive
5 | Status: 204 No Content
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3996
8 | X-RateLimit-Reset: 1455279163
9 | Cache-Control: no-cache
10 | X-Request-Id: 6a8e83f1-f80c-4dc0-a462-d63c932a59bb
11 | X-Runtime: 0.509466
12 | Strict-Transport-Security: max-age=31536000
13 |
14 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "rake", "~> 13.3"
4 | gem "nanoc", "~> 4.14"
5 | gem "builder"
6 | gem "kramdown"
7 | gem "mime-types"
8 | gem "nokogiri", "~> 1.18"
9 | gem "puma", "~> 7.1"
10 | gem "rouge"
11 | gem "systemu"
12 |
13 | group :test do
14 | gem "minitest"
15 | gem "minitest-reporters"
16 | end
17 |
18 | group :development do
19 | gem "adsf"
20 | end
21 |
22 | group :nanoc do
23 | gem "nanoc-dart-sass"
24 | gem "nanoc-live"
25 | end
26 |
--------------------------------------------------------------------------------
/lib/preprocess_filter.rb:
--------------------------------------------------------------------------------
1 | class PreprocessFilter < Nanoc::Filter
2 | identifier :preprocess
3 |
4 | REGEXP_MARKERS = /<(tip|info|note|warning)>(.*?)<\/\1>/m
5 |
6 | def run(content, params = {})
7 | content = content.dup
8 | format_markers content
9 | content
10 | end
11 |
12 | private
13 |
14 | def format_markers(content)
15 | content.gsub!(REGEXP_MARKERS) { %(#{$2}
) }
16 | end
17 |
18 | end
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listCharges/fail-403.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 403 Forbidden
2 | Date: Tue, 24 Oct 2023 09:49:29 GMT
3 | X-RateLimit-Limit: 2400
4 | X-RateLimit-Remaining: 2398
5 | X-RateLimit-Reset: 1698143967
6 | Content-Type: application/json; charset=utf-8
7 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
8 | Cache-Control: no-cache
9 | X-Request-Id: 5554e2d3-2652-4ca7-8c5e-92b4c35f28d6
10 | X-Runtime: 0.035309
11 |
12 | {"message":"Permission Denied. Required Scope: billing:*:read"}
13 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listCharges/fail-400-bad-filter.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Date: Tue, 24 Oct 2023 08:13:01 GMT
3 | X-RateLimit-Limit: 2400
4 | X-RateLimit-Remaining: 2392
5 | X-RateLimit-Reset: 1698136677
6 | Content-Type: application/json; charset=utf-8
7 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
8 | Cache-Control: no-cache
9 | X-Request-Id: bdfbf3a7-d9dc-4018-9732-61502be989a3
10 | X-Runtime: 0.455303
11 |
12 | {"message":"Invalid date format must be ISO8601 (YYYY-MM-DD)"}
13 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteRegistrantChange/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | server: nginx
3 | date: Tue, 22 Aug 2023 11:14:44 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2391
7 | X-RateLimit-Reset: 1692705338
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | cache-control: no-cache
10 | x-request-id: b123e1f0-aa70-4abb-95cf-34f377c83ef4
11 | x-runtime: 0.114839
12 | strict-transport-security: max-age=63072000
13 |
14 |
--------------------------------------------------------------------------------
/content/assets/images/dotnet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/notfound-certificate.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404 Not Found
2 | Server: nginx
3 | Date: Tue, 19 Jul 2016 08:56:34 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Cache-Control: no-cache
7 | X-Request-Id: 9a51fa7e-cc9b-498b-bf8d-ee3b2819c0c6
8 | X-Runtime: 0.040469
9 | X-Content-Type-Options: nosniff
10 | X-Download-Options: noopen
11 | X-Frame-Options: DENY
12 | X-Permitted-Cross-Domain-Policies: none
13 | X-XSS-Protection: 1; mode=block
14 |
15 | {"message":"Certificate `0` not found"}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/renewDomain/error-tooearly.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Mon, 15 Feb 2016 15:06:35 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 400 Bad Request
7 | X-RateLimit-Limit: 4000
8 | X-RateLimit-Remaining: 3998
9 | X-RateLimit-Reset: 1455552316
10 | Cache-Control: no-cache
11 | X-Request-Id: 0c1507d3-4c03-4ba3-b2bd-b0cabf021ed8
12 | X-Runtime: 0.256476
13 |
14 | {"message":"example.com may not be renewed at this time","errors":{}}
15 |
--------------------------------------------------------------------------------
/content/assets/css/style.scss:
--------------------------------------------------------------------------------
1 | @use "sass:meta";
2 | //
3 | // Style manifest
4 | // --------------------------------------------------
5 |
6 | @import "../../dist/tachyons/css/tachyons.min.css";
7 | @import "../../dist/fontawesome/css/all.min.css";
8 | @import "../../dist/highlightjs/styles/github.css";
9 | @import "variables.css";
10 | @import "colorscheme.css";
11 | @import "typography.css";
12 | @import "syntax.css";
13 | @import "template.css";
14 | @import "application.css";
15 | @import "tabs.css";
16 | @import "dual_cta.css";
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/transferDomain/error-indnsimple.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Sun, 21 Feb 2016 13:11:54 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 400 Bad Request
7 | X-RateLimit-Limit: 4000
8 | X-RateLimit-Remaining: 3996
9 | X-RateLimit-Reset: 1456063541
10 | Cache-Control: no-cache
11 | X-Request-Id: 15d2e302-e835-4dda-9652-03d8962280ae
12 | X-Runtime: 0.994068
13 |
14 | {"message":"The domain google.com is already in DNSimple and cannot be added"}
--------------------------------------------------------------------------------
/fixtures/v2/api/response.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 18 Dec 2015 15:19:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3991
8 | X-RateLimit-Reset: 1450451976
9 | ETag: W/"5ea6326bc1a8e83e5c156c564f2559f0"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12 | X-Runtime: 0.141588
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":{"user":null,"account":null}}
--------------------------------------------------------------------------------
/fixtures/v2/api/checkRegistrantChange/error-contactnotfound.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404
2 | server: nginx
3 | date: Tue, 22 Aug 2023 13:59:02 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2398
7 | X-RateLimit-Reset: 1692716201
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | cache-control: no-cache
10 | x-request-id: b1dd3f42-ebb9-42fd-a121-d595de96f667
11 | x-runtime: 0.019122
12 | strict-transport-security: max-age=63072000
13 |
14 | {"message":"Contact `21` not found"}
15 |
--------------------------------------------------------------------------------
/content/assets/css/variables.scss:
--------------------------------------------------------------------------------
1 | // colors
2 | $accent-color: #4248af;
3 | $accent-color-alt: #f8bb00;
4 |
5 | $black: #231f20;
6 | $white: #fff;
7 | $green: #43A047;
8 | $red: #F44336;
9 | $blue: #1A5EC6;
10 | $orange: #FF7F2A;
11 | $yellow: #f8c939;
12 | $yellow-700: #cd8d2a;
13 | $gray-100: #fafafa;
14 | $gray-200: #f1f1f1;
15 | $gray-300: #e4e4e4;
16 | $gray-500: #979797;
17 | $gray-600: #7e7e7e;
18 | $gray-700: #4a4a4a;
19 | $gray-900: #313131;
20 | $purple: #64518E;
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainPremiumPrice/failure.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Tue, 22 Nov 2016 10:48:27 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Cache-Control: no-cache
7 | X-Request-Id: 1304138f-0fc7-4845-b9ed-e3803409cb5a
8 | X-Runtime: 1.421413
9 | X-Content-Type-Options: nosniff
10 | X-Download-Options: noopen
11 | X-Frame-Options: DENY
12 | X-Permitted-Cross-Domain-Policies: none
13 | X-XSS-Protection: 1; mode=block
14 |
15 | {"message":"`example.com` is not a premium domain for registration"}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/transferDomain/error-missing-authcode.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Sun, 21 Feb 2016 13:11:11 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 400 Bad Request
7 | X-RateLimit-Limit: 4000
8 | X-RateLimit-Remaining: 3997
9 | X-RateLimit-Reset: 1456063540
10 | Cache-Control: no-cache
11 | X-Request-Id: d7a0eb63-77eb-4488-bc55-c129ed8fe192
12 | X-Runtime: 11.912567
13 |
14 | {"message":"Validation failed","errors":{"base":["You must provide an authorization code for the domain"]}}
--------------------------------------------------------------------------------
/fixtures/v2/api/acceptPush/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Thu, 11 Aug 2016 10:23:46 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2392
7 | X-RateLimit-Reset: 1470913058
8 | Cache-Control: no-cache
9 | X-Request-Id: 5867ab50-6237-4cf8-b220-51f5ef57debd
10 | X-Runtime: 0.582482
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainDelegation/success-empty.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:13:41 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2393
9 | X-RateLimit-Reset: 1458821048
10 | ETag: W/"e0234245cb00aa260ccfa99a9a0b235e"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: c88385f9-c8f7-435a-9060-0b1a27488b2b
13 | X-Runtime: 0.206440
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[]}
--------------------------------------------------------------------------------
/fixtures/v2/api/rejectPush/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Thu, 11 Aug 2016 10:24:54 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2391
7 | X-RateLimit-Reset: 1470913059
8 | Cache-Control: no-cache
9 | X-Request-Id: c0258478-1392-49b2-9b94-67b173acae12
10 | X-Runtime: 0.174739
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/applyService/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Sat, 09 Jul 2016 11:12:42 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2398
7 | X-RateLimit-Reset: 1468066326
8 | Cache-Control: no-cache
9 | X-Request-Id: 30a3a44b-5792-4114-a355-a866603311ce
10 | X-Runtime: 0.087254
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableDnssec/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 09:59:48 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2397
7 | X-RateLimit-Reset: 1488538622
8 | Cache-Control: no-cache
9 | X-Request-Id: d4904f31-9f5a-4616-a398-65915a2ade0f
10 | X-Runtime: 0.150273
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/unapplyService/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Sat, 09 Jul 2016 11:13:48 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2397
7 | X-RateLimit-Reset: 1468066326
8 | Cache-Control: no-cache
9 | X-Request-Id: bb164b01-636a-4d02-acb5-a829afc5ea8c
10 | X-Runtime: 0.070508
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableVanityNameServers/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Tue, 12 Jul 2016 08:56:00 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2398
7 | X-RateLimit-Reset: 1468314483
8 | Cache-Control: no-cache
9 | X-Request-Id: 99c3fef2-d875-40fd-961c-194bffd694f1
10 | X-Runtime: 5.983300
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getTldExtendedAttributes/success-noattributes.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Sun, 28 Feb 2016 13:19:18 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: 3996
9 | X-RateLimit-Reset: 1456669058
10 | ETag: W/"e0234245cb00aa260ccfa99a9a0b235e"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 414e9bf2-4681-4769-a3e0-ed9b8905edcc
13 | X-Runtime: 0.459391
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[]}
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteDelegationSignerRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 15:25:00 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2398
7 | X-RateLimit-Reset: 1488558240
8 | Cache-Control: no-cache
9 | X-Request-Id: 50271e09-f056-4413-9eea-87e097d43e8b
10 | X-Runtime: 0.306806
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/changeDomainDelegationFromVanity/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Mon, 11 Jul 2016 09:55:23 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2398
7 | X-RateLimit-Reset: 1468233619
8 | Cache-Control: no-cache
9 | X-Request-Id: 334a5c9c-8205-414c-bca2-db0469ed0b4a
10 | X-Runtime: 0.385941
11 | X-Content-Type-Options: nosniff
12 | X-Download-Options: noopen
13 | X-Frame-Options: DENY
14 | X-Permitted-Cross-Domain-Policies: none
15 | X-XSS-Protection: 1; mode=block
16 | Strict-Transport-Security: max-age=31536000
17 |
18 |
--------------------------------------------------------------------------------
/fixtures/v2/api/pages-3of3.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 16 Dec 2015 13:36:11 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3997
8 | X-RateLimit-Reset: 1450272970
9 | ETag: W/"2679531e6cce6cd326f255255d7a0005"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: a87f1b44-150a-4ed0-b7da-9301fa1465b0
12 | X-Runtime: 0.093714
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":[{"id":5}],"pagination":{"current_page":3,"per_page":2,"total_entries":5,"total_pages":3}}
--------------------------------------------------------------------------------
/fixtures/v2/api/getWebhook/success.http:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 26 Feb 2016 16:04:05 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: 3999
9 | X-RateLimit-Reset: 1456506245
10 | ETag: W/"f3cf8499e935e48401aae26842f712c4"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: e3c6fac1-a36d-42c3-8a04-d68f127add18
13 | X-Runtime: 0.605907
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"domain":"ruby.codes","available":true,"premium":true}}
--------------------------------------------------------------------------------
/fixtures/v2/api/pages-1of3.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 16 Dec 2015 13:36:11 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3997
8 | X-RateLimit-Reset: 1450272970
9 | ETag: W/"2679531e6cce6cd326f255255d7a0005"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: a87f1b44-150a-4ed0-b7da-9301fa1465b0
12 | X-Runtime: 0.093714
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":[{"id":1},{"id":2}],"pagination":{"current_page":1,"per_page":2,"total_entries":5,"total_pages":3}}
--------------------------------------------------------------------------------
/fixtures/v2/api/pages-2of3.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 16 Dec 2015 13:36:11 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3997
8 | X-RateLimit-Reset: 1450272970
9 | ETag: W/"2679531e6cce6cd326f255255d7a0005"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: a87f1b44-150a-4ed0-b7da-9301fa1465b0
12 | X-Runtime: 0.093714
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":[{"id":3},{"id":4}],"pagination":{"current_page":2,"per_page":2,"total_entries":5,"total_pages":3}}
--------------------------------------------------------------------------------
/content/ddns/ddns.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | TOKEN="your-oauth-token" # The API v2 OAuth token
4 | ACCOUNT_ID="12345" # Replace with your account ID
5 | ZONE_ID="yourdomain.com" # The zone ID is the name of the zone (or domain)
6 | RECORD_ID="1234567" # Replace with the Record ID
7 | IP=`curl --ipv4 -s http://icanhazip.com/`
8 |
9 | curl -H "Authorization: Bearer $TOKEN" \
10 | -H "Content-Type: application/json" \
11 | -H "Accept: application/json" \
12 | -X "PATCH" \
13 | -i "https://api.dnsimple.com/v2/$ACCOUNT_ID/zones/$ZONE_ID/records/$RECORD_ID" \
14 | -d "{\"content\":\"$IP\"}"
15 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createWebhook/created.http:
--------------------------------------------------------------------------------
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}}
17 |
--------------------------------------------------------------------------------
/content/assets/css/template.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Base Template
3 | // --------------------------------------------------
4 |
5 | .bg-pipes {
6 | background-image: url(/assets/images/border.jpg);
7 | background-position: center top;
8 | background-repeat: repeat-x;
9 | background-size: 900px 10px;
10 | }
11 |
12 | #search {
13 | background: var(--elementInverse);
14 | color: var(--gray);
15 | padding: 0.7rem;
16 |
17 | &:hover {
18 | color: var(--primary);
19 | border-color: var(--primary);
20 | }
21 |
22 | .keyboard-shortcut {
23 | background: var(--surface1);
24 | padding: 0.15rem 0.25rem;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkRegistrantChange/error-domainnotfound.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 404
2 | server: nginx
3 | date: Tue, 22 Aug 2023 11:09:40 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2395
7 | X-RateLimit-Reset: 1692705338
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | etag: W/"cef1e7d85d0b9bfd25e81b812891d34f"
10 | cache-control: max-age=0, private, must-revalidate
11 | x-request-id: 5b0d8bfb-7b6a-40b5-a079-b640fd817e34
12 | x-runtime: 3.066249
13 | strict-transport-security: max-age=63072000
14 |
15 | {"message":"Domain `dnsimple-rraform.bio` not found"}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainDelegation/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:17:18 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2391
9 | X-RateLimit-Reset: 1458821048
10 | ETag: W/"cb540984f806b12ac437cc1f76092f90"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: e53ac7b5-0d26-45bc-9226-09c2d34be293
13 | X-Runtime: 0.192986
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":["ns1.dnsimple.com","ns2.dnsimple.com","ns3.dnsimple.com","ns4.dnsimple.com"]}
--------------------------------------------------------------------------------
/fixtures/v2/api/changeDomainDelegation/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:17:01 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2392
9 | X-RateLimit-Reset: 1458821049
10 | ETag: W/"cb540984f806b12ac437cc1f76092f90"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 0ea7bdd2-63ca-4eef-9c41-4a83d2fe0067
13 | X-Runtime: 2.845860
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":["ns1.dnsimple.com","ns2.dnsimple.com","ns3.dnsimple.com","ns4.dnsimple.com"]}
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteEmailForward/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 204 No Content
2 | Server: nginx
3 | Date: Mon, 25 Jan 2021 13:56:43 GMT
4 | Connection: keep-alive
5 | X-RateLimit-Limit: 4800
6 | X-RateLimit-Remaining: 4765
7 | X-RateLimit-Reset: 1611583416
8 | Cache-Control: no-cache
9 | X-Request-Id: bfaceb73-4fd3-4490-8528-472ec1df3526
10 | X-Runtime: 0.506670
11 | X-Frame-Options: DENY
12 | X-Content-Type-Options: nosniff
13 | X-XSS-Protection: 1; mode=block
14 | X-Download-Options: noopen
15 | X-Permitted-Cross-Domain-Policies: none
16 | Content-Security-Policy: frame-ancestors 'none'
17 | Strict-Transport-Security: max-age=31536000
18 |
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkDomainPremiumPrice/error_400_tld_not_supported.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Mon, 27 Jul 2020 13:41:23 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1595860823
9 | Cache-Control: no-cache
10 | X-Request-Id: 6986cca3-4f57-4814-9e81-1c484d61c7ea
11 | X-Runtime: 0.007339
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 |
18 | {"message":"TLD .LOVE is not supported"}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/oauthAccessToken/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 08 Feb 2016 21:24:19 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 30
8 | X-RateLimit-Remaining: 29
9 | X-RateLimit-Reset: 1454970259
10 | ETag: W/"def417b4ade951f8148bb6a4fa3fcf5a"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: e8c544cf-fcc3-4762-a200-60c0320a2575
13 | X-Runtime: 0.105600
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"access_token":"zKQ7OLqF5N1gylcJweA9WodA000BUNJD","token_type":"Bearer","scope":null,"account_id":1}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableDnssec/not-enabled.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 428 Precondition Required
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 10:00:36 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: 1488538622
9 | Cache-Control: no-cache
10 | X-Request-Id: 8e6cfeba-61f3-4449-9d95-dceaa1be30b0
11 | X-Runtime: 0.033649
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":"DNSSEC cannot be disabled because it is not enabled"}
19 |
--------------------------------------------------------------------------------
/content/v2/platform.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Platform API | DNSimple API v2
3 | excerpt: This page documents the DNSimple platform API.
4 | ---
5 |
6 | # Platform API
7 |
8 | * TOC
9 | {:toc}
10 |
11 |
12 | All endpoints in the Platform API are currently in Private Beta. During the Private Beta period changes may occur at any time.
13 |
14 |
15 | This API provides a means to publish information into DNSimple about add-ons that extend the functionality of the DNSimple service.
16 |
17 | - [Connections](/v2/platform/connections/)
18 | - [Messages](/v2/platform/messages/)
19 | - [Metadata](/v2/platform/metadata/)
20 | - [Statuses](/v2/platform/statuses/)
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listWebhooks/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 15 Feb 2016 17:06:21 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: 3991
9 | X-RateLimit-Reset: 1455559348
10 | ETag: W/"01f1ea26e8e06d8d969bf06678bf7d12"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: bc611cd0-d1a9-48d0-b450-c9c86f0d0dcf
13 | X-Runtime: 0.104174
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[{"id":1,"url":"https://webhook.test","suppressed_at":null},{"id":2,"url":"https://another.test","suppressed_at":null}]}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/renewWhoisPrivacy/whois-privacy-not-found.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Thu, 10 Jan 2019 12:11:39 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1547125899
9 | Cache-Control: no-cache
10 | X-Request-Id: 2727b7c4-97af-4e22-9c7f-bd84e20f2dc1
11 | X-Runtime: 0.139925
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 |
18 | {"message":"WHOIS privacy not found for example.com"}
--------------------------------------------------------------------------------
/fixtures/v2/api/batchChangeZoneRecords/error_400_delete_validation_failed.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | server: nginx
3 | date: Fri, 05 Sep 2025 06:50:48 GMT
4 | content-type: application/json; charset=utf-8
5 | content-length: 107
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2390
8 | X-RateLimit-Reset: 1757058040
9 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
10 | cache-control: no-cache
11 | x-request-id: 254988cd-401b-4a32-b5d8-c25502573c9a
12 | x-runtime: 0.105704
13 | strict-transport-security: max-age=63072000
14 |
15 | {"message":"Validation failed","errors":{"deletes":[{"index":0,"message":"Record not found ID=67622509"}]}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/batchChangeZoneRecords/error_400_update_validation_failed.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | server: nginx
3 | date: Fri, 05 Sep 2025 06:52:30 GMT
4 | content-type: application/json; charset=utf-8
5 | content-length: 107
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2388
8 | X-RateLimit-Reset: 1757058040
9 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
10 | cache-control: no-cache
11 | x-request-id: e042a192-69de-46b5-9ea0-add647a9b20a
12 | x-runtime: 0.170298
13 | strict-transport-security: max-age=63072000
14 |
15 | {"message":"Validation failed","errors":{"updates":[{"index":0,"message":"Record not found ID=99999999"}]}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteContact/error-contact-in-use.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Wed, 11 Apr 2018 10:50:21 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: 1523447401
9 | Cache-Control: no-cache
10 | X-Request-Id: 8d9f3de7-6e42-4a16-82eb-e2434dd58008
11 | X-Runtime: 0.271090
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":"The contact cannot be deleted because it's currently in use"}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/oauthAccessToken/error-invalid-request.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Mon, 08 Feb 2016 21:24:19 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 30
7 | X-RateLimit-Remaining: 29
8 | X-RateLimit-Reset: 1454970259
9 | ETag: W/"def417b4ade951f8148bb6a4fa3fcf5a"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: e8c544cf-fcc3-4762-a200-60c0320a2575
12 | X-Runtime: 0.105600
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"error":"invalid_request","error_description":"Invalid \"state\": value doesn't match the \"state\" in the authorization request"}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/whoami/success-user.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 18 Dec 2015 15:19:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3991
8 | X-RateLimit-Reset: 1450451976
9 | ETag: W/"5ea6326bc1a8e83e5c156c564f2559f0"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12 | X-Runtime: 0.141588
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":{"user":{"id":1,"email":"example-user@example.com","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"},"account":null}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkDomainPremiumPrice/error_400_not_a_premium_domain.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Mon, 27 Jul 2020 13:43:02 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4786
8 | X-RateLimit-Reset: 1595859922
9 | Cache-Control: no-cache
10 | X-Request-Id: 382b409c-0f90-4758-af3b-0bccd31a9d0d
11 | X-Runtime: 1.346405
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 |
18 | {"message":"`cocotero.love` is not a premium domain for registration"}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkRegistrantChange/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200
2 | server: nginx
3 | date: Tue, 22 Aug 2023 11:09:40 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2395
7 | X-RateLimit-Reset: 1692705338
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | etag: W/"cef1e7d85d0b9bfd25e81b812891d34f"
10 | cache-control: max-age=0, private, must-revalidate
11 | x-request-id: 5b0d8bfb-7b6a-40b5-a079-b640fd817e34
12 | x-runtime: 3.066249
13 | strict-transport-security: max-age=63072000
14 |
15 | {"data":{"domain_id":101,"contact_id":101,"extended_attributes":[],"registry_owner_change":true}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainPrices/failure.http:
--------------------------------------------------------------------------------
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 | {"message":"TLD .PINEAPPLE is not supported"}
--------------------------------------------------------------------------------
/fixtures/v2/api/getWhoisPrivacy/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Sat, 13 Feb 2016 14:35:37 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: 3996
9 | X-RateLimit-Reset: 1455377135
10 | ETag: W/"10be37d45cd224b2178b8a2f86c466ea"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 78afe010-0f54-4d39-9ed3-08c67d545a35
13 | X-Runtime: 0.031770
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"domain_id":2,"expires_on":"2017-02-13","enabled":true,"created_at":"2016-02-13T14:34:50Z","updated_at":"2016-02-13T14:34:52Z"}}
17 |
--------------------------------------------------------------------------------
/content/assets/css/dual_cta.scss:
--------------------------------------------------------------------------------
1 | .dual-cta-container {
2 | --border-radius: 1.2em;
3 | display: inline-flex;
4 |
5 | a {
6 | padding: 0.5em 1.2em;
7 | text-decoration: none;
8 | font-weight: 500;
9 | border-radius: var(--border-radius);
10 | color: var(--color);
11 | white-space: nowrap;
12 |
13 | &.primary {
14 | background-color: var(--primary);
15 | z-index: 2;
16 | color: var(--elementInverse);
17 | }
18 |
19 | &.secondary {
20 | border-top-left-radius: 0px;
21 | border-bottom-left-radius: 0px;
22 | padding-left: 1.5em;
23 | margin-left: -0.8em;
24 | background-color: var(--surface2);
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableWhoisPrivacy/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Sat, 13 Feb 2016 14:36:38 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: 3995
9 | X-RateLimit-Reset: 1455377134
10 | ETag: W/"56e3e7f76ba9c84dcab9aef72347edf2"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 4831c4d9-e62e-4710-a999-4ab32a900cea
13 | X-Runtime: 0.988453
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"domain_id":2,"expires_on":"2017-02-13","enabled":false,"created_at":"2016-02-13T14:34:50Z","updated_at":"2016-02-13T14:36:38Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/enableWhoisPrivacy/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Sat, 13 Feb 2016 14:34:52 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: 3997
9 | X-RateLimit-Reset: 1455377135
10 | ETag: W/"c955cdcda56f131395952576e6ded0b6"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 779eff1a-429c-432a-ad17-617502d62e69
13 | X-Runtime: 2.563855
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"domain_id":2,"expires_on":null,"enabled":null,"created_at":"2016-02-13T14:34:50Z","updated_at":"2016-02-13T14:34:50Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/enableWhoisPrivacy/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Sat, 13 Feb 2016 14:36:49 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: 3994
9 | X-RateLimit-Reset: 1455377135
10 | ETag: W/"1063ebb3e281ca6e1941874002696cd7"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 34453d13-76ba-4f64-ad94-2d536c61826c
13 | X-Runtime: 1.408974
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"domain_id":2,"expires_on":"2017-02-13","enabled":true,"created_at":"2016-02-13T14:34:50Z","updated_at":"2016-02-13T14:36:48Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/whoami/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 18 Dec 2015 15:19:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3991
8 | X-RateLimit-Reset: 1450451976
9 | ETag: W/"5ea6326bc1a8e83e5c156c564f2559f0"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12 | X-Runtime: 0.141588
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getTemplate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 22 Mar 2016 11:14:57 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2394
9 | X-RateLimit-Reset: 1458648490
10 | ETag: W/"6a2c0c6789d853473765a5fc5662da2e"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 3401ffd6-730f-42c0-856c-3b270ca4b35f
13 | X-Runtime: 0.938420
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"Alpha","sid":"alpha","description":"An alpha template.","created_at":"2016-03-22T11:08:58Z","updated_at":"2016-03-22T11:08:58Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/updateTemplate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:04:55 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2398
9 | X-RateLimit-Reset: 1458821048
10 | ETag: W/"6a2c0c6789d853473765a5fc5662da2e"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 3a7993e7-8b1e-47ce-a7a8-cc86b02904de
13 | X-Runtime: 0.324954
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"Alpha","sid":"alpha","description":"An alpha template.","created_at":"2016-03-22T11:08:58Z","updated_at":"2016-03-22T11:08:58Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/createTemplate/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 24 Mar 2016 11:09:16 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 201 Created
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2396
9 | X-RateLimit-Reset: 1458821049
10 | ETag: W/"c0be8a0056ccd8e0ee31a60c51256848"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: c4ab6dd9-87d4-4244-8ec8-9187a511b89c
13 | X-Runtime: 0.115316
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"Beta","sid":"beta","description":"A beta template.","created_at":"2016-03-24T11:09:16Z","updated_at":"2016-03-24T11:09:16Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/whoami/success-account.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 18 Dec 2015 15:19:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4000
7 | X-RateLimit-Remaining: 3991
8 | X-RateLimit-Reset: 1450451976
9 | ETag: W/"5ea6326bc1a8e83e5c156c564f2559f0"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12 | X-Runtime: 0.141588
13 | Strict-Transport-Security: max-age=31536000
14 |
15 | {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainTransferLock/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 15 Aug 2023 09:58:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1488538623
9 | ETag: W/"fc2368a31a1b6a3afcca33bb37ff6b9d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8b0fe49a-c810-4552-84ab-a1cd9b4a7786
12 | X-Runtime: 0.024780
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"enabled":true}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/registerDomain/error-extended-attributes.http:
--------------------------------------------------------------------------------
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":"Invalid extended attributes","errors":{"x-accept-ssl-requirement": "it's required", "x-id-number": "invalid number"}}
19 |
--------------------------------------------------------------------------------
/layouts/default.html:
--------------------------------------------------------------------------------
1 | <%= render "header" %>
2 |
3 |
4 |
5 |
8 |
9 | <%= yield %>
10 |
11 |
12 |
13 |
14 | <%= render "footer" %>
15 |
16 |
22 |
23 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneDistribution/failure.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 30 Oct 2017 09:09:41 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1509358181
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 91f124fc-671d-40fa-877b-0b222692f623
12 | X-Runtime: 0.471005
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"distributed":false}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneDistribution/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 30 Oct 2017 09:09:41 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1509358181
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 91f124fc-671d-40fa-877b-0b222692f623
12 | X-Runtime: 0.471005
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"distributed":true}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/disableDomainTransferLock/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 15 Aug 2023 09:58:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1488538623
9 | ETag: W/"fc2368a31a1b6a3afcca33bb37ff6b9d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8b0fe49a-c810-4552-84ab-a1cd9b4a7786
12 | X-Runtime: 0.024780
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"enabled":false}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/renewWhoisPrivacy/whois-privacy-duplicated-order.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Thu, 10 Jan 2019 12:13:21 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: 1547125899
9 | Cache-Control: no-cache
10 | X-Request-Id: 16cc92bb-fe38-434b-b483-602d77ac77d3
11 | X-Runtime: 0.122201
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 |
18 | {"message":"The whois privacy for example.com has just been renewed, a new renewal cannot be started at this time"}
--------------------------------------------------------------------------------
/fixtures/v2/api/batchChangeZoneRecords/error_400_create_validation_failed.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Tue, 23 Sep 2025 10:21:06 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Content-Length: 137
6 | Connection: keep-alive
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2397
9 | X-RateLimit-Reset: 1758626142
10 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
11 | Cache-Control: no-cache
12 | X-Request-Id: 22761da9-ad02-4970-add5-e26602b09bb5
13 | X-Runtime: 0.115194
14 | Strict-Transport-Security: max-age=63072000
15 |
16 | {"message":"Validation failed","errors":{"creates":[{"index":0,"message":"Validation failed","errors":{"record_type":["unsupported"]}}]}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneRecordDistribution/failure.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 18 Dec 2017 10:54:13 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1513597686
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: f5a86610-0e22-4047-a27c-350769eaa6d5
12 | X-Runtime: 0.425440
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"distributed":false}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneRecordDistribution/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 18 Dec 2017 10:48:06 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1513597686
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 34c69751-ffee-4856-ac28-ead4f3a66e18
12 | X-Runtime: 0.438473
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"distributed":true}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/enableDomainTransferLock/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Tue, 15 Aug 2023 09:58:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1488538623
9 | ETag: W/"fc2368a31a1b6a3afcca33bb37ff6b9d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8b0fe49a-c810-4552-84ab-a1cd9b4a7786
12 | X-Runtime: 0.024780
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"enabled":true}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getTemplateRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 03 May 2016 08:04:20 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2394
9 | X-RateLimit-Reset: 1462265481
10 | ETag: W/"743142eab9fecf3edb41e9b3f30a903f"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 6484e900-7255-4194-9ff8-ae5650ebd765
13 | X-Runtime: 0.138017
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":301,"template_id":268,"name":"","content":"mx.example.com","ttl":600,"priority":10,"type":"MX","created_at":"2016-05-03T08:03:26Z","updated_at":"2016-05-03T08:03:26Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createRegistrantChange/success.http:
--------------------------------------------------------------------------------
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":"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 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deleteRegistrantChange/success_async.http:
--------------------------------------------------------------------------------
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"}}
15 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createTemplateRecord/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Tue, 03 May 2016 07:51:33 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 201 Created
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2398
9 | X-RateLimit-Reset: 1462265481
10 | ETag: W/"a8518ecf2fd31e6c22b0acccb5cef797"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: b2d51e79-b3d2-4abe-9184-155fb5546617
13 | X-Runtime: 0.190813
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":300,"template_id":268,"name":"","content":"mx.example.com","ttl":600,"priority":10,"type":"MX","created_at":"2016-05-03T07:51:33Z","updated_at":"2016-05-03T07:51:33Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getZone/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 22 Jan 2016 16:54:14 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: 3995
9 | X-RateLimit-Reset: 1453484046
10 | ETag: W/"2161245abd349a34cba32a970e6424ba"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 93182033-a215-484e-a107-5235fa48001c
13 | X-Runtime: 0.177942
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"example-alpha.com","reverse":false,"secondary":false,"last_transferred_at":null,"active":true,"created_at":"2015-04-23T07:40:03Z","updated_at":"2015-04-23T07:40:03Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainPremiumPrice/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 22 Nov 2016 10:46:17 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1479815177
9 | ETag: W/"7ed6ab997deeafd985a5782df2d86b04"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 54731b91-cd76-4d08-9481-c0f55f47996d
12 | X-Runtime: 1.013083
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"premium_price":"109.00","action":"registration"}}
21 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue';
2 | import Tabs from "./components/tabs.vue"
3 |
4 | createApp(Tabs).mount('.component')
5 |
6 | function toggleColorMode (e) {
7 | // Switch to Light Mode
8 | if (e.currentTarget.classList.contains("light--hidden")) {
9 | document.documentElement.setAttribute("color-mode", "light");
10 | localStorage.setItem("color-mode", "light")
11 | return;
12 | }
13 |
14 | // Switch to Dark Mode
15 | document.documentElement.setAttribute("color-mode", "dark");
16 | localStorage.setItem("color-mode", "dark");
17 | };
18 |
19 | const toggleColorButtons = document.querySelectorAll(".color-mode__btn");
20 |
21 | toggleColorButtons.forEach(btn => {
22 | btn.addEventListener("click", toggleColorMode);
23 | });
24 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkDomainPremiumPrice/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 27 Jul 2020 13:58:50 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4769
8 | X-RateLimit-Reset: 1595859923
9 | ETag: W/"54b4776b898065f2f551fc33465d0936"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 75c5090e-8000-4e95-a516-ffd09383f641
12 | X-Runtime: 2.380524
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"premium_price":"2640.00","action":"registration"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createDelegationSignerRecord/validation-error.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 400 Bad Request
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 15:20:28 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2395
8 | X-RateLimit-Reset: 1488554574
9 | Cache-Control: no-cache
10 | X-Request-Id: bf652af9-54cd-42c7-8fd3-2f52e2baea4b
11 | X-Runtime: 0.350846
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":{"algorithm":["can't be blank"],"digest":["can't be blank"],"digest_type":["can't be blank"],"keytag":["can't be blank"]}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/webhook.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 7c7d1a66-efc6-4818-9861-ec0ed1a1ddb4
5 | Content-Length: 350
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"webhook": {"id": 274, "url": "https://xxxxxx-xxxxxxx-00000.herokuapp.com/xxxxxxxx"}}, "name": "webhook.create", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "f8330285-724f-4395-84ee-063e390d8162"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/webhook.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 4e4b2552-9c80-4437-aea8-b09e8ceb0321
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Content-Type: application/json
7 | Content-Length: 350
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"webhook": {"id": 215, "url": "https://xxxxxx-xxxxxxx-00000.herokuapp.com/xxxxxxxx"}}, "name": "webhook.delete", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "4d6f9084-850d-444d-a998-455a59f830d5"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneDistribution/error.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 504 Gateway Timeout
2 | Server: nginx
3 | Date: Mon, 30 Oct 2017 09:09:41 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1509358181
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 91f124fc-671d-40fa-877b-0b222692f623
12 | X-Runtime: 0.471005
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"message":"Could not query zone, connection timed out"}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/checkZoneRecordDistribution/error.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 504 Gateway Timeout
2 | Server: nginx
3 | Date: Mon, 18 Dec 2017 10:54:48 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: 1513597686
9 | ETag: W/"10fc650d019e6bffa876f08bce8f3380"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 74059b13-9262-4e2d-b8ff-a833376dce19
12 | X-Runtime: 0.408180
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"message":"Could not query zone, connection timed out"}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createZoneRecord/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 07 Jan 2016 17:45:13 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: 3990
9 | X-RateLimit-Reset: 1452188712
10 | ETag: W/"a7ddff4ee5dc28bbebf3d416e8bd0f04"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: f96f5034-bf0c-4201-9564-493c162e3cb4
13 | X-Runtime: 0.099095
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"zone_id":"example.com","parent_id":null,"name":"www","content":"127.0.0.1","ttl":600,"priority":null,"type":"A","system_record":false,"regions":["global"],"created_at":"2016-01-07T17:45:13Z","updated_at":"2016-01-07T17:45:13Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/getDnssec/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 09:58:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1488538623
9 | ETag: W/"fc2368a31a1b6a3afcca33bb37ff6b9d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8b0fe49a-c810-4552-84ab-a1cd9b4a7786
12 | X-Runtime: 0.024780
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"enabled":true,"created_at":"2017-02-03T17:43:22Z","updated_at":"2017-02-03T17:43:22Z"}}
21 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | ---
2 | version: 2
3 | updates:
4 | - package-ecosystem: bundler
5 | directory: /
6 | schedule:
7 | interval: weekly
8 | open-pull-requests-limit: 10
9 | labels:
10 | - task
11 | - dependencies
12 |
13 | - package-ecosystem: github-actions
14 | directory: /
15 | schedule:
16 | interval: weekly
17 | labels:
18 | - task
19 | - dependencies
20 |
21 | - package-ecosystem: npm
22 | directory: /
23 | schedule:
24 | interval: weekly
25 | open-pull-requests-limit: 10
26 | labels:
27 | - task
28 | - dependencies
29 | groups:
30 | javascript-dependencies:
31 | patterns:
32 | - '*'
33 | update-types:
34 | - patch
35 | - minor
36 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createZoneRecord/created-apex.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 07 Jan 2016 17:45:13 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: 3990
9 | X-RateLimit-Reset: 1452188712
10 | ETag: W/"a7ddff4ee5dc28bbebf3d416e8bd0f04"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: f96f5034-bf0c-4201-9564-493c162e3cb4
13 | X-Runtime: 0.099095
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"zone_id":"example.com","parent_id":null,"name":"","content":"127.0.0.1","ttl":600,"priority":null,"type":"A","system_record":false,"regions":["global"],"created_at":"2016-01-07T17:45:13Z","updated_at":"2016-01-07T17:45:13Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/enableDnssec/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 13:49:58 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1488552566
9 | ETag: W/"80f207d402f1a1a4845455aa064c3735"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 49ea1585-3871-4829-90f4-ea2aad994256
12 | X-Runtime: 0.700056
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"enabled":true,"created_at":"2017-03-03T13:49:58Z","updated_at":"2017-03-03T13:49:58Z"}}
21 |
--------------------------------------------------------------------------------
/content/assets/images/php.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/activateZoneService/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 08 Aug 2023 04:19:23 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1691471963
9 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
10 | ETag: W/"fe6afd982459be33146933235343d51d"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 8e8ac535-9f46-4304-8440-8c68c30427c3
13 | X-Runtime: 0.176579
14 | Strict-Transport-Security: max-age=63072000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"example.com","reverse":false,"secondary":false,"last_transferred_at":null,"active":true,"created_at":"2022-09-28T04:45:24Z","updated_at":"2023-07-06T11:19:48Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/deactivateZoneService/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 08 Aug 2023 04:19:52 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1691471962
9 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
10 | ETag: W/"5f30a37d01b99bb9e620ef1bbce9a014"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: d2f7bba4-4c81-4818-81d2-c9bbe95f104e
13 | X-Runtime: 0.133278
14 | Strict-Transport-Security: max-age=63072000
15 |
16 | {"data":{"id":1,"account_id":1010,"name":"example.com","reverse":false,"secondary":false,"last_transferred_at":null,"active":false,"created_at":"2022-09-28T04:45:24Z","updated_at":"2023-08-08T04:19:52Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getRegistrantChange/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200
2 | server: nginx
3 | date: Tue, 22 Aug 2023 11:13:58 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2392
7 | X-RateLimit-Reset: 1692705338
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | etag: W/"76c5d4c7579b754b94a42ac7fa37a901"
10 | cache-control: max-age=0, private, must-revalidate
11 | x-request-id: e910cd08-3f9c-4da4-9986-50dbe9c3bc55
12 | x-runtime: 0.022006
13 | strict-transport-security: max-age=63072000
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"}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/cancelDomainTransfer/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 202 Accepted
2 | Server: nginx
3 | Date: Fri, 05 Jun 2020 18:09:42 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2394
8 | X-RateLimit-Reset: 1591384034
9 | Cache-Control: no-cache
10 | X-Request-Id: 3cf6dcfa-0bb5-439e-863a-af2ef08bc830
11 | X-Runtime: 0.912731
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 |
18 | {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"transferring","auto_renew":false,"whois_privacy":false,"status_description":null,"created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:08:04Z"}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/zone.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Content-Length: 422
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Connect-Time: 1
7 | Via: 1.1 vegur
8 | Accept-Encoding: gzip
9 | X-Request-Id: 8e71cd39-3380-486f-b2ff-b0588e677848
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"zone": {"id": 360322, "name": "example.zone", "reverse": false, "account_id": 123, "created_at": "2018-11-04T20:51:45Z", "updated_at": "2018-11-04T20:51:45Z"}}, "name": "zone.create", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "154dff3d-4b31-496a-9f39-a8a2b57bad9b"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/zone.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Content-Length: 422
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Connect-Time: 0
7 | Via: 1.1 vegur
8 | Accept-Encoding: gzip
9 | X-Request-Id: cc73ccd6-bb72-4cc9-9f95-6d3010595fdf
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"zone": {"id": 360320, "name": "example.zone", "reverse": false, "account_id": 123, "created_at": "2018-11-04T20:51:12Z", "updated_at": "2018-11-04T20:51:12Z"}}, "name": "zone.delete", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "0c783469-92c7-4819-90b6-62ef7785abc5"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/renewDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 09 Dec 2016 19:46:57 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2394
8 | X-RateLimit-Reset: 1481315245
9 | ETag: W/"179d85ea8a26a3d5dc76e42de2d7918e"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: ba6f2707-5df0-4ffa-b91b-51d4460bab8e
12 | X-Runtime: 13.571302
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":999,"period":1,"state":"new","created_at":"2016-12-09T19:46:45Z","updated_at":"2016-12-09T19:46:45Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainRenewal/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 09 Dec 2016 19:46:57 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2394
8 | X-RateLimit-Reset: 1481315245
9 | ETag: W/"179d85ea8a26a3d5dc76e42de2d7918e"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: ba6f2707-5df0-4ffa-b91b-51d4460bab8e
12 | X-Runtime: 13.571302
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":999,"period":1,"state":"renewed","created_at":"2016-12-09T19:46:45Z","updated_at":"2016-12-12T19:46:45Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/initiatePush/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 11 Aug 2016 10:16:03 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2395
8 | X-RateLimit-Reset: 1470913058
9 | ETag: W/"fbbdec6f757e014f6f0b2159090aed80"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 3c3f4bee-3e06-4998-8946-02d4fae26fa4
12 | X-Runtime: 0.601397
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":100,"contact_id":null,"account_id":2020,"created_at":"2016-08-11T10:16:03Z","updated_at":"2016-08-11T10:16:03Z","accepted_at":null}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.update/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: b2432f45-199b-4a6e-9a88-1c5f1383aa8b
5 | Content-Length: 442
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Via: 1.1 vegur
9 | Total-Route-Time: 7068
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"account": {"id": 123, "email": "hello@example.com", "created_at": "2011-03-17T21:30:25Z", "updated_at": "2018-11-05T12:27:17Z", "plan_identifier": "dnsimple-personal-yearly"}}, "name": "account.update", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal2", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "692a46c5-1117-4995-8107-9dd1ad18fa20"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/subscription.renew/state-failed.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Total-Route-Time: 7210
5 | Content-Length: 446
6 | X-Request-Id: e15222f0-83fd-48ae-ab6f-67c8f3198dcc
7 | Via: 1.1 vegur
8 | Connect-Time: 1
9 | Accept-Encoding: gzip
10 | User-Agent: DNSimple-Webhook-Notifier/8b16040b4b0e3b18a84c6a300a85119cf638980a
11 | Connection: keep-alive
12 |
13 | {"data": {"subscription": {"id": 11111, "state": "subscribed", "plan_name": "Teams", "created_at": "2018-12-20T13:40:26Z", "updated_at": "2019-04-06T08:57:01Z"}}, "name": "subscription.renew:failed", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "e08f7b64-81b2-454c-a090-ee012cbf2141"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/accounts/success-account.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 14 Jun 2016 12:02:58 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2391
8 | X-RateLimit-Reset: 1465908577
9 | ETag: W/"9ef3b4bf1f441a9b1cd6d7041bc181aa"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: f705b65b-3589-43ad-97ca-3b2821d49d81
12 | X-Runtime: 0.012661
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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"}]}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.user_remove/example.http:
--------------------------------------------------------------------------------
1 | POST /170zjup1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Connection: keep-alive
5 | Content-Length: 581
6 | Content-Type: application/json
7 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
8 |
9 | {"data": {"user": {"id": 1120, "email": "xxxxxx@xxxxxx.xxx", "created_at": "2011-03-17T21:30:25Z", "updated_at": "2018-11-16T12:38:34Z"}, "account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "teams-v1-monthly"}}, "name": "account.user_remove", "actor": {"id": "88720", "entity": "user", "pretty": "xxxxxxxxxxxxxxxxx@xxxxxx.xxx"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "c60473f0-bbed-4858-84f9-5766c8227447"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listAccounts/success-account.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 14 Jun 2016 12:02:58 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2391
8 | X-RateLimit-Reset: 1465908577
9 | ETag: W/"9ef3b4bf1f441a9b1cd6d7041bc181aa"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: f705b65b-3589-43ad-97ca-3b2821d49d81
12 | X-Runtime: 0.012661
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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"}]}
21 |
--------------------------------------------------------------------------------
/lib/search.rb:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | require 'json'
4 |
5 | module Search
6 | include Nanoc::Helpers::Text
7 |
8 | def create_search_index
9 | index_file = File.join(@config[:output_dir], 'search.json')
10 | File.write(index_file, articles_json)
11 | end
12 |
13 | def articles_json
14 | @articles_json ||= begin
15 | index = []
16 |
17 | @items.each do |item|
18 | next if item.attributes[:is_hidden]
19 | next unless item.attributes[:filename].end_with?('markdown')
20 |
21 | index << {
22 | id: item.path,
23 | title: item.attributes[:title],
24 | excerpt: item[:excerpt],
25 | categories: item[:categories],
26 | body: item.compiled_content
27 | }
28 | end
29 |
30 | JSON.generate(index)
31 | end
32 | end
33 | end
34 |
35 | include Search
36 |
--------------------------------------------------------------------------------
/fixtures/v2/api/purchaseLetsencryptCertificate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 18 Jun 2020 18:54:17 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4799
8 | X-RateLimit-Reset: 1592510057
9 | ETag: W/"36ffdd6505ed488a3aeeaace031c5869"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 4e99c95d-6d19-48ea-8d63-e68432631c90
12 | X-Runtime: 0.098745
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":101967,"certificate_id":101967,"state":"new","auto_renew":false,"created_at":"2020-06-18T18:54:17Z","updated_at":"2020-06-18T18:54:17Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainRestore/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Sun, 18 Feb 2024 10:48:05 GMT
4 | Content-Type: application/json
5 | Content-Length: 120
6 | Connection: keep-alive
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2398
9 | X-RateLimit-Reset: 1547125899
10 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
11 | Cache-Control: no-cache
12 | X-Request-Id: 2a8d691f-f47e-4d41-9916-eba67e683914
13 | X-Runtime: 0.004845
14 | X-Frame-Options: DENY
15 | X-Content-Type-Options: nosniff
16 | X-XSS-Protection: 1; mode=block
17 | X-Download-Options: noopen
18 | X-Permitted-Cross-Domain-Policies: none
19 | Content-Security-Policy: frame-ancestors 'none'
20 | Strict-Transport-Security: max-age=63072000
21 |
22 | {"data":{"id":43,"domain_id":214,"state":"new","created_at":"2024-02-14T14:40:42Z","updated_at":"2024-02-14T14:40:42Z"}}
23 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listRegistrantChanges/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200
2 | server: nginx
3 | date: Tue, 22 Aug 2023 11:12:49 GMT
4 | content-type: application/json; charset=utf-8
5 | X-RateLimit-Limit: 2400
6 | X-RateLimit-Remaining: 2393
7 | X-RateLimit-Reset: 1692705338
8 | x-work-with-us: Love automation? So do we! https://dnsimple.com/jobs
9 | etag: W/"0049703ea058b06346df4c0e169eac29"
10 | cache-control: max-age=0, private, must-revalidate
11 | x-request-id: fd0334ce-414a-4872-8889-e548e0b1410c
12 | x-runtime: 0.030759
13 | strict-transport-security: max-age=63072000
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}}
16 |
--------------------------------------------------------------------------------
/fixtures/v2/api/renewWhoisPrivacy/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 10 Jan 2019 12:12:50 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1547125899
9 | ETag: W/"e5bf5d90a6c95e5f1443dcbaf2cc27c6"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 6e80e830-21ae-46ea-9191-98811884808a
12 | X-Runtime: 1.459325
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":100,"whois_privacy_id":999,"state":"new","expires_on":"2020-01-10","enabled":true,"created_at":"2019-01-10T12:12:48Z","updated_at":"2019-01-10T12:12:48Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/restoreDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Sun, 18 Feb 2024 10:46:17 GMT
4 | Content-Type: application/json
5 | Content-Length: 120
6 | Connection: keep-alive
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2398
9 | X-RateLimit-Reset: 1547125899
10 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
11 | Cache-Control: no-cache
12 | X-Request-Id: 3bf33ae7-22f2-473c-8e39-8738d2bcce89
13 | X-Runtime: 0.006332
14 | X-Frame-Options: DENY
15 | X-Content-Type-Options: nosniff
16 | X-XSS-Protection: 1; mode=block
17 | X-Download-Options: noopen
18 | X-Permitted-Cross-Domain-Policies: none
19 | Content-Security-Policy: frame-ancestors 'none'
20 | Strict-Transport-Security: max-age=63072000
21 |
22 | {"data":{"id":43,"domain_id":214,"state":"new","created_at":"2024-02-14T14:40:42Z","updated_at":"2024-02-14T14:40:42Z"}}
23 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainPrices/success.http:
--------------------------------------------------------------------------------
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}}
22 |
--------------------------------------------------------------------------------
/fixtures/v2/api/transferDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 09 Dec 2016 19:43:43 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2395
8 | X-RateLimit-Reset: 1481315246
9 | ETag: W/"e58e7ac3ad9e30162c5098f29f208066"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 0d00c622-9fc8-406a-93cb-d2c5d6ecd6b4
12 | X-Runtime: 6.483160
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":999,"registrant_id":2,"state":"transferring","auto_renew":false,"whois_privacy":false,"created_at":"2016-12-09T19:43:41Z","updated_at":"2016-12-09T19:43:43Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/registerDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 09 Dec 2016 19:35:38 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: 1481315246
9 | ETag: W/"440b25022ab55cd8e84be64356bfd7d9"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: aac22ee4-31d7-4d71-ad3d-d0004f5cf370
12 | X-Runtime: 11.906207
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":1,"domain_id":999,"registrant_id":2,"period":1,"state":"new","auto_renew":false,"whois_privacy":false,"created_at":"2016-12-09T19:35:31Z","updated_at":"2016-12-09T19:35:31Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.transfer/status-started.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 607
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 919, "name": "example-alpha.com", "state": "hosted", "account_id": 682, "auto_renew": false, "created_at": "2022-05-05T17:26:15Z", "expires_at": null, "expires_on": null, "updated_at": "2022-05-05T17:26:15Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.transfer:started", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "3076b668-0e44-4520-9b05-53e99d87dbe4"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.create/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 638
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181985, "name": "example-beta.com", "state": "hosted", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:47:05Z", "expires_at": null, "expires_on": null, "updated_at": "2020-06-04T19:47:05Z", "unicode_name": "example-beta.com", "private_whois": false, "registrant_id": null}}, "name": "domain.create", "actor": {"id": "1385", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "35e04e69-bec9-46e2-bcf1-1d5a469d82b6"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainRegistration/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 05 Jun 2020 18:23:53 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2392
8 | X-RateLimit-Reset: 1591384034
9 | ETag: W/"80c5827934c13b1ca87a587d96e7d1e8"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 9f4959ee-06a9-488c-906e-27a570cafbbf
12 | X-Runtime: 0.078429
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":361,"domain_id":104040,"registrant_id":2715,"period":1,"state":"registering","auto_renew":false,"whois_privacy":false,"created_at":"2023-01-27T17:44:32Z","updated_at":"2023-01-27T17:44:40Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/purchaseRenewalLetsencryptCertificate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 18 Jun 2020 19:56:20 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4799
8 | X-RateLimit-Reset: 1592513780
9 | ETag: W/"84dd908f85153590082766bd8d1f1056"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: f43f4d80-a7eb-43d3-b1ec-95eba413894e
12 | X-Runtime: 0.091216
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":65082,"old_certificate_id":101967,"new_certificate_id":101972,"state":"new","auto_renew":false,"created_at":"2020-06-18T19:56:20Z","updated_at":"2020-06-18T19:56:20Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/dnssec.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Connection: keep-alive
5 | Content-Length: 635
6 | Content-Type: application/json
7 | User-Agent: DNSimple-Webhook-Notifier/46408cbfd86e25e0a375a09353a73c55a4825a28
8 |
9 | {"data": {"zone": {"id": 315333, "name": "example-20230920163010.com", "active": true, "reverse": false, "secondary": false, "account_id": 625, "created_at": "2023-09-20T14:30:19Z", "updated_at": "2025-06-13T13:11:52Z", "last_transferred_at": null}, "dnssec": {"enabled": true, "created_at": "2025-06-13T13:11:52Z", "updated_at": "2025-06-13T13:11:52Z"}}, "name": "dnssec.create", "actor": {"id": "2", "entity": "user", "pretty": "simone.carletti@dnsimple.com"}, "account": {"id": 625, "display": "Webhook Tests", "identifier": "webhooks@example.com"}, "api_version": "v2", "request_identifier": "e3e3d10b-b0cd-498c-9fb6-9afdb44fd19a"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/dnssec.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/46408cbfd86e25e0a375a09353a73c55a4825a28
6 | Content-Length: 635
7 | Connection: keep-alive
8 |
9 | {"data": {"zone": {"id": 315333, "name": "example-20230920163010.com", "active": true, "reverse": false, "secondary": false, "account_id": 625, "created_at": "2023-09-20T14:30:19Z", "updated_at": "2025-06-13T13:11:58Z", "last_transferred_at": null}, "dnssec": {"enabled": true, "created_at": "2025-06-13T13:11:52Z", "updated_at": "2025-06-13T13:11:52Z"}}, "name": "dnssec.delete", "actor": {"id": "2", "entity": "user", "pretty": "simone.carletti@dnsimple.com"}, "account": {"id": 625, "display": "Webhook Tests", "identifier": "webhooks@example.com"}, "api_version": "v2", "request_identifier": "1096e2f6-71d2-4d8f-a7c0-05858eb68454"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.transfer/status-cancelled.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 607
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 919, "name": "example-alpha.com", "state": "hosted", "account_id": 682, "auto_renew": false, "created_at": "2022-05-05T17:26:15Z", "expires_at": null, "expires_on": null, "updated_at": "2022-05-05T17:26:15Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.transfer:cancelled", "actor": {"id": "system", "entity": "dnsimple", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "fdc33563-a219-4df8-85c1-81fcaa16c9e2"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.transfer/example.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 607
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 919, "name": "example-alpha.com", "state": "registered", "account_id": 682, "auto_renew": false, "created_at": "2022-05-05T17:26:15Z", "expires_at": "2023-06-05T02:15:00Z", "expires_on": "2023-06-05", "updated_at": "2022-05-05T17:26:15Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.transfer", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "3076b668-0e44-4520-9b05-53e99d87dbe4"}
9 |
--------------------------------------------------------------------------------
/_test/content_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | describe "Content" do
4 |
5 | BannedCharacters = [
6 | "\u201C", # U+201C “
7 | "\u201D", # U+201D ”
8 | "\u201E", # U+201E „
9 | "\u2018", # U+2018 ‘
10 | "\u2019", # U+2019 ’
11 | "\u201A", # U+201A ‚
12 | "\u201B", # U+201B ‛
13 | ]
14 |
15 | it "is sucessful" do
16 | regexp = /[#{BannedCharacters.join}]/
17 | affected = []
18 |
19 | Dir["content/**/*.markdown"].each do |path|
20 | next unless File.file?(path)
21 | File.readlines(path).each do |line|
22 | affected << [path, line] if regexp.match(line)
23 | end
24 | end
25 |
26 | message = "#{affected.size} lines contain banned characters:\n"
27 | affected.each_with_index do |(path, line), index|
28 | message << "#{("%d." % (index+1))} #{path} -> #{line}"
29 | end
30 |
31 | assert_equal 0, affected.size, message
32 | end
33 | end
34 |
--------------------------------------------------------------------------------
/fixtures/v2/api/issueLetsencryptCertificate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 202 Accepted
2 | Server: nginx
3 | Date: Thu, 18 Jun 2020 18:56:21 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4798
8 | X-RateLimit-Reset: 1592510057
9 | Cache-Control: no-cache
10 | X-Request-Id: 1d6bdd7c-a88e-4ac2-9d12-36699a32b006
11 | X-Runtime: 0.884870
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 |
18 | {"data":{"id":101967,"domain_id":289333,"contact_id":2511,"name":"www","common_name":"www.bingo.pizza","years":1,"csr":null,"state":"requesting","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2020-06-18T18:54:17Z","updated_at":"2020-06-18T18:56:20Z","expires_at":null,"expires_on":null}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listEmailForwards/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 17 May 2024 09:07:28 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4748
8 | X-RateLimit-Reset: 1715936948
9 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
10 | ETag: W/"a5eed9a071f03e10fc67001ccc647a94"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: e42df983-a8a5-4123-8c74-fb89ab934aba
13 | X-Runtime: 0.025456
14 | Strict-Transport-Security: max-age=63072000
15 |
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}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.register/status-started.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 591
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "hosted", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": null, "expires_on": null, "updated_at": "2020-06-04T19:15:14Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.register:started", "actor": {"id": "1385", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "7bd379d8-8572-4ccd-9084-e1a842cd6012"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.renew/status-started.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 671
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 965, "name": "example-alpha.com", "state": "registered", "account_id": 682, "auto_renew": true, "created_at": "2022-10-12T21:53:01Z", "expires_at": "2024-10-12T21:53:04Z", "expires_on": "2024-10-12", "updated_at": "2023-02-13T16:04:05Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.renew:started", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "4b2394b1-236b-42e8-859f-6952f2c222a7"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getZoneRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 05 Oct 2016 09:53:54 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2394
8 | X-RateLimit-Reset: 1475662530
9 | ETag: W/"d4d22097268cd23fab63ef3e9982b5c1"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8a07b24d-6f59-4012-9f53-6cae893f0372
12 | X-Runtime: 0.051822
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":5,"zone_id":"example.com","parent_id":null,"name":"","content":"mxa.example.com","ttl":600,"priority":10,"type":"MX","regions":["SV1", "IAD"],"system_record":false,"created_at":"2016-10-05T09:51:35Z","updated_at":"2016-10-05T09:51:35Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/issueRenewalLetsencryptCertificate/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 202 Accepted
2 | Server: nginx
3 | Date: Thu, 18 Jun 2020 20:05:26 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4798
8 | X-RateLimit-Reset: 1592513780
9 | Cache-Control: no-cache
10 | X-Request-Id: a7194bb4-aea4-42c6-846f-cd96f5f3cf5c
11 | X-Runtime: 0.897152
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 |
18 | {"data":{"id":101972,"domain_id":289333,"contact_id":2511,"name":"www","common_name":"www.bingo.pizza","years":1,"csr":null,"state":"requesting","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2020-06-18T19:56:20Z","updated_at":"2020-06-18T20:05:26Z","expires_at":null,"expires_on":null}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/updateZoneRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 05 Oct 2016 09:59:48 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2393
8 | X-RateLimit-Reset: 1475662530
9 | ETag: W/"92c807156882e555af8f7a5b93350e44"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 3b630702-46a9-4449-a320-b7ac903d2127
12 | X-Runtime: 0.405810
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":5,"zone_id":"example.com","parent_id":null,"name":"","content":"mxb.example.com","ttl":3600,"priority":20,"type":"MX","regions":["global"],"system_record":false,"created_at":"2016-10-05T09:51:35Z","updated_at":"2016-10-05T09:51:35Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.register/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 662
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.register", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "a57e7761-3cfd-42a1-ba47-9ac89f5e69c3"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.register/status-cancelled.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 591
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "hosted", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": null, "expires_on": null, "updated_at": "2020-06-04T19:15:14Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.register:cancelled", "actor": {"id": "1385", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "7bd379d8-8572-4ccd-9084-e1a842cd6012"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.renew/status-cancelled.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 671
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 965, "name": "example-alpha.com", "state": "registered", "account_id": 682, "auto_renew": true, "created_at": "2022-10-12T21:53:01Z", "expires_at": "2024-10-12T21:53:04Z", "expires_on": "2024-10-12", "updated_at": "2023-02-13T16:04:05Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.renew:cancelled", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "4b2394b1-236b-42e8-859f-6952f2c222a7"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.restore/status-cancelled.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 671
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 965, "name": "example-alpha.com", "state": "registered", "account_id": 682, "auto_renew": true, "created_at": "2022-10-12T21:53:01Z", "expires_at": "2024-10-12T21:53:04Z", "expires_on": "2024-10-12", "updated_at": "2023-02-13T16:04:05Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.restore:cancelled", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "4b2394b1-236b-42e8-859f-6952f2c222a7"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.restore/status-started.http:
--------------------------------------------------------------------------------
1 | POST /test HTTP/1.1
2 | Host: dnsimple.requestcatcher.com
3 | Accept-Encoding: gzip
4 | Content-Length: 671
5 | Content-Type: application/json
6 | User-Agent: DNSimple-Webhook-Notifier/d75a7ee112449b681673d7b088bdd7dae30cc176
7 |
8 | {"data": {"domain": {"id": 965, "name": "example-alpha.com", "state": "registered", "account_id": 682, "auto_renew": true, "created_at": "2022-10-12T21:53:01Z", "expires_at": "2024-10-12T21:53:04Z", "expires_on": "2024-10-12", "updated_at": "2023-02-13T16:04:05Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 167}}, "name": "domain.restore:started", "actor": {"id": "682", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 682, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "4b2394b1-236b-42e8-859f-6952f2c222a7"}
9 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomainTransfer/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 05 Jun 2020 18:23:53 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2392
8 | X-RateLimit-Reset: 1591384034
9 | ETag: W/"80c5827934c13b1ca87a587d96e7d1e8"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 9f4959ee-06a9-488c-906e-27a570cafbbf
12 | X-Runtime: 0.078429
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"cancelled","auto_renew":false,"whois_privacy":false,"status_description":"Canceled by customer","created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:10:01Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getPrimaryServer/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 23:18:40 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2386
8 | X-RateLimit-Reset: 1616024599
9 | ETag: W/"ceda02163217bdb9e6850e2c36cbf163"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 259fc436-7146-4e6b-98fa-3c43f541482b
12 | X-Runtime: 0.033067
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":{"id":4,"account_id":531,"name":"PrimaryProduction","ip":"1.2.3.4","port":53,"linked_secondary_zones":[],"created_at":"2021-03-17T23:08:42Z","updated_at":"2021-03-17T23:08:42Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/unlinkPrimaryServer/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 23:36:43 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2383
8 | X-RateLimit-Reset: 1616024599
9 | ETag: W/"ceda02163217bdb9e6850e2c36cbf163"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 789c6feb-63e1-40d6-b2b6-f569b23a507c
12 | X-Runtime: 0.270968
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":{"id":4,"account_id":531,"name":"PrimaryProduction","ip":"1.2.3.4","port":53,"linked_secondary_zones":[],"created_at":"2021-03-17T23:08:42Z","updated_at":"2021-03-17T23:08:42Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/validation-error.http:
--------------------------------------------------------------------------------
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"]}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.delete/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 667
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181986, "name": "example-delta.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T20:48:23Z", "expires_at": "2021-06-05T03:48:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:48:30Z", "unicode_name": "example-delta.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.delete", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "52888db5-ac52-4ccf-b211-4e1785a7524f"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createPrimaryServer/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 23:08:42 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2388
8 | X-RateLimit-Reset: 1616024599
9 | ETag: W/"ceda02163217bdb9e6850e2c36cbf163"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 24ed1594-6701-475b-b66b-f85f9fe69736
12 | X-Runtime: 0.162800
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":{"id":4,"account_id":531,"name":"PrimaryProduction","ip":"1.2.3.4","port":53,"linked_secondary_zones":[],"created_at":"2021-03-17T23:08:42Z","updated_at":"2021-03-17T23:08:42Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/getDelegationSignerRecord/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 13:53:06 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: 1488552566
9 | ETag: W/"0aa4c6cec5adfa60dcf78ed2c3c661dd"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: ccf90c89-d463-43c6-ac25-3839169e1afd
12 | X-Runtime: 0.024246
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":24,"domain_id":1010,"algorithm":"8","digest":"C1F6E04A5A61FBF65BF9DC8294C363CF11C89E802D926BDAB79C55D27BEFA94F","digest_type":"2","keytag":"44620","public_key":null,"created_at":"2017-03-03T13:49:58Z","updated_at":"2017-03-03T13:49:58Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listTemplates/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 22 Mar 2016 11:11:50 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2396
9 | X-RateLimit-Reset: 1458648490
10 | ETag: W/"2d1c99cff82eace0e995d901b465bbde"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 774e871f-8bda-40d7-bed9-bd907e872987
13 | X-Runtime: 0.193956
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[{"id":1,"account_id":1010,"name":"Alpha","sid":"alpha","description":"An alpha template.","created_at":"2016-03-22T11:08:58Z","updated_at":"2016-03-22T11:08:58Z"},{"id":2,"account_id":1010,"name":"Beta","sid":"beta","description":"A beta template.","created_at":"2016-03-22T11:11:26Z","updated_at":"2016-03-22T11:11:26Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.transfer_lock_disable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 667
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 1, "name": "example.com", "state": "registered", "account_id": 1010, "auto_renew": false, "created_at": "2023-03-02T02:39:18Z", "expires_at": "2024-03-02T02:39:22Z", "expires_on": "2024-03-02", "updated_at": "2023-08-31T06:46:48Z", "unicode_name": "example.com", "private_whois": false, "registrant_id": 101}}, "name": "domain.transfer_lock_disable", "actor": {"id": "1010", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1010, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "0f31483c-c303-497b-8a88-2edb48aa111e"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.transfer_lock_enable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 666
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 1, "name": "example.com", "state": "registered", "account_id": 1010, "auto_renew": false, "created_at": "2023-03-02T02:39:18Z", "expires_at": "2024-03-02T02:39:22Z", "expires_on": "2024-03-02", "updated_at": "2023-08-31T06:46:48Z", "unicode_name": "example.com", "private_whois": false, "registrant_id": 101}}, "name": "domain.transfer_lock_enable", "actor": {"id": "1010", "entity": "account", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1010, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "0f31483c-c303-497b-8a88-2edb48aa111e"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getContact/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 20:57:38 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: 3996
9 | X-RateLimit-Reset: 1453239045
10 | ETag: W/"165299b0ea3e5c1c80f1ae622146626f"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 4c0679ed-5c79-41bf-84cb-0dc2250a07ce
13 | X-Runtime: 0.127802
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"label":"Default","first_name":"First","last_name":"User","job_title":"CEO","organization_name":"Awesome Company","email":"first@example.com","phone":"+18001234567","fax":"+18011234567","address1":"Italian Street, 10","address2":"","city":"Roma","state_province":"RM","postal_code":"00100","country":"IT","created_at":"2016-01-19T20:50:26Z","updated_at":"2016-01-19T20:50:26Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.sso_user_add/example.http:
--------------------------------------------------------------------------------
1 | POST /170zjup1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 662
7 | Connection: keep-alive
8 |
9 | {"data": {"user": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2025-09-16T22:12:34Z", "updated_at": "2025-09-18T10:46:19Z"}, "account": {"id": 4, "email": "yyyyy@yyyyyy.yyy", "created_at": "2025-08-13T23:09:47Z", "updated_at": "2025-08-13T23:10:05Z", "plan_identifier": "teams-v2-monthly"}, "account_identity_provider": {"organization_identifier": "51fae1e9-ce56-4df2-8364-cdab573027aa"}}, "name": "account.sso_user_add", "actor": {"id": "", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 4, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "4aedf8d3-f93d-4a42-99d9-ec20c9349358"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createDelegationSignerRecord/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 15:24:00 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1488558240
9 | ETag: W/"6443c4a27424c31a2a08e941be6319a4"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 44b1448f-c7da-4988-ba5a-5b7f9892b1d2
12 | X-Runtime: 0.351659
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":2,"domain_id":1010,"algorithm":"13","digest":"684a1f049d7d082b7f98691657da5a65764913df7f065f6f8c36edf62d66ca03","digest_type":"2","keytag":"2371","public_key":null,"created_at":"2017-03-03T15:24:00Z","updated_at":"2017-03-03T15:24:00Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/updateContact/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 21:28:13 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: 3995
9 | X-RateLimit-Reset: 1453239045
10 | ETag: W/"4a798ad8f083076b23d3eed622eefc2d"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: c0e1e24f-d22d-4832-a30e-2f4ffc40b029
13 | X-Runtime: 0.053262
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"label":"Default","first_name":"First","last_name":"User","job_title":"CEO","organization_name":"Awesome Company","email":"first@example.com","phone":"+18001234567","fax":"+18011234567","address1":"Italian Street, 10","address2":"","city":"Roma","state_province":"RM","postal_code":"00100","country":"IT","created_at":"2016-01-19T20:50:26Z","updated_at":"2016-01-19T20:50:26Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.renew/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 685
7 | Connection: keep-alive
8 |
9 | {"data": {"auto": true, "domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": true, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.renew", "actor": {"id": "system", "entity": "dnsimple", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "b02026a9-bb60-4c80-a1da-310eef08dd53"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/email_forward.activate/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Length: 554
4 | Accept-Encoding: gzip
5 | X-Request-Id: 42f14e6a-21e4-4942-9556-682298b5a852
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Connect-Time: 0
9 | Via: 1.1 vegur
10 | Total-Route-Time: 1
11 | Connection: keep-alive
12 |
13 | {"data": {"email_forward": {"id": 11587, "to": "test@example.com", "from": "test@hostedzone.com", "active": true, "domain_id": 322675, "created_at": "2024-11-21T13:21:45Z", "updated_at": "2024-11-21T13:25:51Z", "alias_email": "test@hostedzone.com", "destination_email": "test@example.com"}}, "name": "email_forward.activate", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxx@xxxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "1c15eea2-cf3e-4613-9f35-3f4bdd79d231"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createContact/error-validation-errors.http:
--------------------------------------------------------------------------------
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"]}}
19 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createSecondaryZone/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 23:44:27 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1616028241
9 | ETag: W/"9726e9abb694bb7a61777076d14158fd"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 967ead79-85e7-4950-aa70-52da90f9abcc
12 | X-Runtime: 0.294142
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":{"id":734,"account_id":531,"name":"secondaryexample.com","reverse":false,"secondary":true,"last_transferred_at":null,"created_at":"2021-03-17T23:44:27Z","updated_at":"2021-03-17T23:44:27Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/api/getTld/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 23 Sep 2016 09:06:13 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: 1474622397
9 | ETag: W/"8e3d87c11204e76362765aea4c0916e0"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 426d0884-2583-45d8-8ab6-0e36050ba6dc
12 | X-Runtime: 0.011580
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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","name_server_min":"2","name_server_max":"13"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/linkPrimaryServer/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 23:29:51 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2384
8 | X-RateLimit-Reset: 1616024598
9 | ETag: W/"911f7a8bf729e066d3d0aedce7eaab4e"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 104a8bbe-a4a7-41b1-9d51-499596f5b228
12 | X-Runtime: 0.249251
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":{"id":4,"account_id":531,"name":"PrimaryProduction","ip":"1.2.3.4","port":53,"linked_secondary_zones":["secondaryzone.com"],"created_at":"2021-03-17T23:08:42Z","updated_at":"2021-03-17T23:08:42Z"}}
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.resolution_disable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 678
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:34:21Z", "unicode_name": "example-alpha.com", "private_whois": true, "registrant_id": 2715}}, "name": "domain.resolution_disable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "472542bc-c8bf-4638-99ea-ad22bc0b810f"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.resolution_enable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 677
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:37:32Z", "unicode_name": "example-alpha.com", "private_whois": true, "registrant_id": 2715}}, "name": "domain.resolution_enable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "92a1c588-1281-408b-8e1b-14d766464e34"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.restore/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 685
7 | Connection: keep-alive
8 |
9 | {"data": {"auto": true, "domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": true, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.restore", "actor": {"id": "system", "entity": "dnsimple", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "b02026a9-bb60-4c80-a1da-310eef08dd53"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/email_forward.deactivate/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Length: 557
4 | Accept-Encoding: gzip
5 | X-Request-Id: 42f14e6a-21e4-4942-9556-682298b5a852
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Connect-Time: 0
9 | Via: 1.1 vegur
10 | Total-Route-Time: 1
11 | Connection: keep-alive
12 |
13 | {"data": {"email_forward": {"id": 11587, "to": "test@example.com", "from": "test@hostedzone.com", "active": false, "domain_id": 322675, "created_at": "2024-11-21T13:21:45Z", "updated_at": "2024-11-21T13:25:51Z", "alias_email": "test@hostedzone.com", "destination_email": "test@example.com"}}, "name": "email_forward.deactivate", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxx@xxxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "1c15eea2-cf3e-4613-9f35-3f4bdd79d231"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/email_forward.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Length: 551
4 | Total-Route-Time: 0
5 | Via: 1.1 vegur
6 | Accept-Encoding: gzip
7 | X-Request-Id: e459cabf-de4e-4288-8e2b-09799e1415dd
8 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
9 | Content-Type: application/json
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": ".*@example.zone", "active": true, "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:53Z", "alias_email": ".*@example.zone", "destination_email": "example@example.com"}}, "name": "email_forward.delete", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxx@xxxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "8ab69f9d-1de9-4425-9755-50cc4f10f5a8"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/email_forward.update/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Length: 551
4 | Accept-Encoding: gzip
5 | X-Request-Id: 42f14e6a-21e4-4942-9556-682298b5a852
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Connect-Time: 0
9 | Via: 1.1 vegur
10 | Total-Route-Time: 1
11 | Connection: keep-alive
12 |
13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": ".*@example.zone", "active": true, "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:53Z", "alias_email": ".*@example.zone", "destination_email": "example@example.com"}}, "name": "email_forward.update", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxx@xxxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "83a53e35-9277-493f-af4d-a06a35167412"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/zone_record.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Content-Length: 550
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Connect-Time: 0
7 | Via: 1.1 vegur
8 | Accept-Encoding: gzip
9 | X-Request-Id: a7b32c49-6211-4f79-8953-a232f94c44c0
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"zone_record": {"id": 14762434, "ttl": 3600, "name": "", "type": "A", "content": "127.0.0.1", "regions": ["global"], "zone_id": "example.zone", "priority": null, "parent_id": null, "created_at": "2018-11-04T20:52:21Z", "updated_at": "2018-11-04T20:52:21Z", "system_record": false}}, "name": "zone_record.create", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "42285223-dc74-4f03-89bf-171e3c0a17b4"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createContact/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 20:50:26 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: 3997
9 | X-RateLimit-Reset: 1453239045
10 | ETag: W/"165299b0ea3e5c1c80f1ae622146626f"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 9f577b9e-5bc4-4a8f-adfb-09dbb1992b0e
13 | X-Runtime: 0.061482
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"account_id":1010,"label":"Default","first_name":"First","last_name":"User","job_title":"CEO","organization_name":"Awesome Company","email":"first@example.com","phone":"+18001234567","fax":"+18011234567","address1":"Italian Street, 10","address2":"","city":"Roma","state_province":"RM","postal_code":"00100","country":"IT","created_at":"2016-01-19T20:50:26Z","updated_at":"2016-01-19T20:50:26Z"}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.auto_renewal_disable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 681
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:46:16Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.auto_renewal_disable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "abf9d6d1-ea69-45f8-85c8-de32b8c6e845"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.auto_renewal_enable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 679
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": true, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:43:47Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}}, "name": "domain.auto_renewal_enable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "680ac620-0e8b-43d1-a3c1-668d61094fde"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/zone_record.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Via: 1.1 vegur
5 | Content-Length: 553
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Connect-Time: 0
8 | Accept-Encoding: gzip
9 | X-Request-Id: 738b17db-2ef0-4c9c-9555-a0ff102d0774
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"zone_record": {"id": 14762434, "ttl": 3600, "name": "www", "type": "A", "content": "127.0.0.1", "regions": ["global"], "zone_id": "example.zone", "priority": null, "parent_id": null, "created_at": "2018-11-04T20:52:21Z", "updated_at": "2018-11-04T20:52:34Z", "system_record": false}}, "name": "zone_record.delete", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "b633e089-8d5c-49e3-8459-f1c8ac16f66e"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/zone_record.update/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Content-Type: application/json
4 | Content-Length: 553
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Connect-Time: 0
7 | Via: 1.1 vegur
8 | Accept-Encoding: gzip
9 | X-Request-Id: d75c6962-5e68-45a2-afe2-3943dd8637fa
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"zone_record": {"id": 14762434, "ttl": 3600, "name": "www", "type": "A", "content": "127.0.0.1", "regions": ["global"], "zone_id": "example.zone", "priority": null, "parent_id": null, "created_at": "2018-11-04T20:52:21Z", "updated_at": "2018-11-04T20:52:34Z", "system_record": false}}, "name": "zone_record.update", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "96cc0f56-577d-41bb-beb5-b1a60ceaf049"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/email_forward.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 5f262ad7-c67d-4e27-a9ed-0f127d974a77
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Content-Type: application/json
7 | Connect-Time: 1
8 | Via: 1.1 vegur
9 | Content-Length: 561
10 | Total-Route-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": "example@example.zone", "active": true, "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:39Z", "alias_email": "example@example.zone", "destination_email": "example@example.com"}}, "name": "email_forward.create", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxx@xxxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "46a0c6b7-695c-4650-82d3-c6612599fe76"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/changeDomainDelegationToVanity/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 11 Jul 2016 09:40:19 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1468233619
9 | ETag: W/"ca1610ec571d766d1c1eda330b4fe9d6"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 931e4d9b-88ea-4723-b1b4-4b29c49b88b5
12 | X-Runtime: 0.270340
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":1,"name":"ns1.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-11T09:40:19Z","updated_at":"2016-07-11T09:40:19Z"},{"id":2,"name":"ns2.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-11T09:40:19Z","updated_at":"2016-07-11T09:40:19Z"}]}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getService/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 15 Apr 2016 14:50:13 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2394
9 | X-RateLimit-Reset: 1460735221
10 | ETag: W/"be453ad05df875577d40dbfbb479239a"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 741b849f-dba6-4d0b-a68c-f47fe1aa3a54
13 | X-Runtime: 0.140632
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":{"id":1,"name":"Service 1","sid":"service1","description":"First service example.","setup_description":null,"requires_setup":true,"default_subdomain":null,"created_at":"2014-02-14T19:15:19Z","updated_at":"2016-03-04T09:23:27Z","settings":[{"name":"username","label":"Service 1 Account Username","append":".service1.com","description":"Your Service 1 username is used to connect services to your account.","example":"username","password":false}]}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listTemplateRecords/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 03 May 2016 08:07:17 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | Status: 200 OK
7 | X-RateLimit-Limit: 2400
8 | X-RateLimit-Remaining: 2391
9 | X-RateLimit-Reset: 1462265481
10 | ETag: W/"3e53584bcf1ce7c7ee4c0bdf734224fa"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 79c25a93-0660-4479-a71f-201c26309e00
13 | X-Runtime: 0.252889
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[{"id":296,"template_id":268,"name":"","content":"192.168.1.1","ttl":3600,"priority":null,"type":"A","created_at":"2016-04-26T08:23:54Z","updated_at":"2016-04-26T08:23:54Z"},{"id":298,"template_id":268,"name":"www","content":"{{domain}}","ttl":3600,"priority":null,"type":"CNAME","created_at":"2016-04-26T08:25:11Z","updated_at":"2016-04-26T08:25:11Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createDomain/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Thu, 04 Jun 2020 19:47:05 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2378
8 | X-RateLimit-Reset: 1591300248
9 | ETag: W/"399e70627412fa31dba332feca5e8ec1"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: ee897eee-36cc-4b7f-be15-f4627f344bf9
12 | X-Runtime: 0.194561
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":181985,"account_id":1385,"registrant_id":null,"name":"example-beta.com","unicode_name":"example-beta.com","state":"hosted","auto_renew":false,"private_whois":false,"expires_on":null,"expires_at":null,"created_at":"2020-06-04T19:47:05Z","updated_at":"2020-06-04T19:47:05Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getZoneFile/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 20 Jul 2016 09:04:24 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1469008918
9 | ETag: W/"85eb7f1ef577371eadf7d5b05203a60e"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: eb3c7bc0-882d-4bb4-873d-aa4d4a3ddc81
12 | X-Runtime: 0.021226
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"zone":"$ORIGIN example.com.\n$TTL 1h\nexample.com. 3600 IN SOA ns1.dnsimple.com. admin.dnsimple.com. 1453132552 86400 7200 604800 300\nexample.com. 3600 IN NS ns1.dnsimple.com.\nexample.com. 3600 IN NS ns2.dnsimple.com.\nexample.com. 3600 IN NS ns3.dnsimple.com.\nexample.com. 3600 IN NS ns4.dnsimple.com.\n"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listAccounts/success-user.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 14 Jun 2016 12:05:38 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2390
8 | X-RateLimit-Reset: 1465908577
9 | ETag: W/"b8dc5b6e94652da599d15d4668b723b5"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 745455ba-3871-440d-b703-1448b9708c14
12 | X-Runtime: 0.014727
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/accounts/success-user.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 14 Jun 2016 12:05:38 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2390
8 | X-RateLimit-Reset: 1465908577
9 | ETag: W/"b8dc5b6e94652da599d15d4668b723b5"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 745455ba-3871-440d-b703-1448b9708c14
12 | X-Runtime: 0.014727
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
21 |
22 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getDomain/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 04 Jun 2020 19:37:22 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2379
8 | X-RateLimit-Reset: 1591300247
9 | ETag: W/"ff4a8463ecca39d4869695d66de60043"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 2e8259ab-c933-487e-8f85-d23f1cdf62fa
12 | X-Runtime: 0.019482
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/getEmailForward/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Mon, 25 Jan 2021 13:56:24 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4766
8 | X-RateLimit-Reset: 1611583416
9 | ETag: W/"80ad3ad1e115a8123193447fa003f68a"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 8f3a9517-f623-4d14-be2b-3f332a4d7873
12 | X-Runtime: 0.010653
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":{"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}}
22 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.billing_settings_update/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: f660856b-27bd-4c97-b36a-8cee494cc382
5 | Content-Length: 602
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"account": {"id": 123, "email": "hello@example.com", "created_at": "2011-03-17T21:30:25Z", "updated_at": "2018-11-05T12:27:55Z", "plan_identifier": "dnsimple-personal-yearly"}, "billing_settings": {"address": "Via Giuseppe Dessi, 9\r\n00142 Roma\r\nItaly", "company": "Simone Carletti", "tax_identifier": "03352270049"}}, "name": "account.billing_settings_update", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "50b45cb5-92bd-42e3-b6ea-f565b990ef41"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/api/createEmailForward/created.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 201 Created
2 | Server: nginx
3 | Date: Mon, 25 Jan 2021 13:54:40 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 4800
7 | X-RateLimit-Remaining: 4772
8 | X-RateLimit-Reset: 1611583415
9 | ETag: W/"80ad3ad1e115a8123193447fa003f68a"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 1086590f-0e65-4010-8636-031400a662bf
12 | X-Runtime: 0.880228
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":{"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}}
22 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listDelegationSignerRecords/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 03 Mar 2017 13:50:42 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: 1488552565
9 | ETag: W/"33c8bbfc699dba2c259b8ec2596ae40d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: ef8f1fe9-d342-41c4-a7bc-402434c53458
12 | X-Runtime: 0.019866
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":24,"domain_id":1010,"algorithm":"8","digest":"C1F6E04A5A61FBF65BF9DC8294C363CF11C89E802D926BDAB79C55D27BEFA94F","digest_type":"2","keytag":"44620","public_key":null,"created_at":"2017-03-03T13:49:58Z","updated_at":"2017-03-03T13:49:58Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listZones/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 22 Jan 2016 16:54:24 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: 3994
9 | X-RateLimit-Reset: 1453484045
10 | ETag: W/"485e03204e1853519bd637be743f2b25"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 01be9fa5-3a00-4d51-a927-f17587cb67ec
13 | X-Runtime: 0.037083
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[{"id":1,"account_id":1010,"name":"example-alpha.com","reverse":false,"secondary":false,"last_transferred_at":null,"active":true,"created_at":"2015-04-23T07:40:03Z","updated_at":"2015-04-23T07:40:03Z"},{"id":2,"account_id":1010,"name":"example-beta.com","reverse":false,"secondary":false,"last_transferred_at":null,"active":true,"created_at":"2015-04-23T07:40:03Z","updated_at":"2015-04-23T07:40:03Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
17 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.user_invite/example.http:
--------------------------------------------------------------------------------
1 | POST /170zjup1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 742
7 | Connection: keep-alive
8 |
9 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "teams-v1-monthly"}, "account_invitation": {"id": 3523, "email": "xxxxxx@xxxxxx.xxx", "token": "eb5763dc-0f24-420b-b7f6-c7355c8b8309", "account_id": 1111, "created_at": "2020-05-12T18:42:44Z", "updated_at": "2020-05-12T18:42:44Z", "invitation_sent_at": "2020-05-12T18:42:44Z", "invitation_accepted_at": null}}, "name": "account.user_invite", "actor": {"id": "88720", "entity": "user", "pretty": "xxxxxxxxxxxxxxxxx@xxxxxx.xxx"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "f8f1ffa3-e49b-4ff0-a46a-41dd67094307"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/domain.delegation_change/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 755
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": true, "registrant_id": 2715}, "name_servers": ["ns1.dnsimple.com", "ns2.dnsimple.com", "ns3.dnsimple.com"]}, "name": "domain.delegation_change", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "e078a72f-c744-486d-932c-cee8554716ed"}
10 |
--------------------------------------------------------------------------------
/content/assets/images/java.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.user_invitation_revoke/example.http:
--------------------------------------------------------------------------------
1 | POST /170zjup1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 753
7 | Connection: keep-alive
8 |
9 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "teams-v1-monthly"}, "account_invitation": {"id": 3522, "email": "xxxxxx@xxxxxx.xxx", "token": "be87d69b-a58a-43bd-9a21-aaf303829a60", "account_id": 1111, "created_at": "2020-05-12T18:42:27Z", "updated_at": "2020-05-12T18:42:27Z", "invitation_sent_at": "2020-05-12T18:42:27Z", "invitation_accepted_at": null}}, "name": "account.user_invitation_revoke", "actor": {"id": "88720", "entity": "user", "pretty": "xxxxxxxxxxxxxxxxx@xxxxxx.xxx"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "688bc70d-0e79-439a-bd2b-0d62cbfe56cc"}
10 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const CopyPlugin = require('copy-webpack-plugin');
3 | const { VueLoaderPlugin } = require('vue-loader')
4 |
5 | module.exports = {
6 | mode: 'production',
7 | entry: './src/index.js',
8 | output: {
9 | path: path.resolve(__dirname, 'dist')
10 | },
11 | module: {
12 | rules: [
13 | {
14 | test: /\.vue$/,
15 | loader: 'vue-loader'
16 | },
17 | ],
18 | },
19 | plugins: [
20 | new CopyPlugin({
21 | patterns: [
22 | { from: 'node_modules/highlightjs/styles/github.css', to: 'highlightjs/styles/github.css' },
23 | { from: 'node_modules/tachyons/css/tachyons.min.css', to: 'tachyons/css/tachyons.min.css' },
24 | { from: 'node_modules/@fortawesome/fontawesome-free/css/all.min.css', to: 'fontawesome/css/all.min.css' },
25 | { from: 'node_modules/@fortawesome/fontawesome-free/webfonts', to: 'fontawesome/webfonts', globOptions: { ignore: ['*.svg'] } },
26 | ]
27 | }),
28 | new VueLoaderPlugin(),
29 | ],
30 | };
31 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/account.user_invitation_accept/example.http:
--------------------------------------------------------------------------------
1 | POST /170zjup1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 759
7 | Connection: keep-alive
8 |
9 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "teams-v1-monthly"}, "account_invitation": {"id": 3523, "email": "xxxxxx@xxxxxx.xxx", "token": "eb5763dc-0f24-420b-b7f6-c7355c8b8309", "account_id": 1111, "created_at": "2020-05-12T18:42:44Z", "updated_at": "2020-05-12T18:43:44Z", "invitation_sent_at": "2020-05-12T18:42:44Z", "invitation_accepted_at": "2020-05-12T18:43:44Z"}}, "name": "account.user_invitation_accept", "actor": {"id": "1120", "entity": "user", "pretty": "xxxxxx@xxxxxx.xxx"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "2fab89c6-963b-47bf-a631-cfa15f06d21f"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listPushes/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 11 Aug 2016 10:19:54 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2393
8 | X-RateLimit-Reset: 1470913058
9 | ETag: W/"fd29a0a43fb53ae2e5186232361fa4b9"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 12611d3b-aee5-49e3-a8bf-bd7899b1e797
12 | X-Runtime: 0.045678
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":1,"domain_id":100,"contact_id":null,"account_id":2020,"created_at":"2016-08-11T10:16:03Z","updated_at":"2016-08-11T10:16:03Z","accepted_at":null},{"id":2,"domain_id":101,"contact_id":null,"account_id":2020,"created_at":"2016-08-11T10:18:48Z","updated_at":"2016-08-11T10:18:48Z","accepted_at":null}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/contact.create/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 05287714-5a10-4265-904a-63b112f33856
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Content-Type: application/json
7 | Content-Length: 679
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 1
11 | Connection: keep-alive
12 |
13 | {"data": {"contact": {"id": 40099, "fax": "", "city": "Rome", "email": "example@example.com", "label": "Test", "phone": "+1 339 1111111", "country": "IT", "address1": "Some Street", "address2": "", "job_title": "", "last_name": "Bar", "account_id": 123, "created_at": "2018-11-05T12:32:42Z", "first_name": "Foo", "updated_at": "2018-11-05T12:32:42Z", "postal_code": "12345", "state_province": "RM", "organization_name": ""}}, "name": "contact.create", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "948d2df3-92bb-4352-a536-1bc5119694c7"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/contact.delete/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 36df2ab6-8108-42e4-8689-ababd10ea3a6
5 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
6 | Content-Type: application/json
7 | Content-Length: 680
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"contact": {"id": 40099, "fax": "", "city": "Rome", "email": "example@example.com", "label": "Test", "phone": "+39 339 1111111", "country": "IT", "address1": "Some Street", "address2": "", "job_title": "", "last_name": "Bar", "account_id": 123, "created_at": "2018-11-05T12:32:42Z", "first_name": "Foo", "updated_at": "2018-11-05T12:32:56Z", "postal_code": "12345", "state_province": "RM", "organization_name": ""}}, "name": "contact.delete", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "9d8b58a5-986c-4f0c-b03e-f1a8e512a639"}
14 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/contact.update/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | X-Request-Id: 02872158-a138-4538-bdb2-4963b074fa82
5 | Content-Length: 680
6 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf
7 | Content-Type: application/json
8 | Via: 1.1 vegur
9 | Total-Route-Time: 0
10 | Connect-Time: 0
11 | Connection: keep-alive
12 |
13 | {"data": {"contact": {"id": 40099, "fax": "", "city": "Rome", "email": "example@example.com", "label": "Test", "phone": "+39 339 1111111", "country": "IT", "address1": "Some Street", "address2": "", "job_title": "", "last_name": "Bar", "account_id": 123, "created_at": "2018-11-05T12:32:42Z", "first_name": "Foo", "updated_at": "2018-11-05T12:32:56Z", "postal_code": "12345", "state_province": "RM", "organization_name": ""}}, "name": "contact.update", "actor": {"id": "1120", "entity": "user", "pretty": "hello@example.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "c1cbb968-6e0f-4fb6-8e6c-06581f24dc25"}
14 |
--------------------------------------------------------------------------------
/content/use-cases.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Use Cases
3 | excerpt: Use cases built with the DNSimple Domain and DNS API.
4 | ---
5 |
6 | # Use Cases
7 |
8 | Use DNSimple's domain management tools to register and set up DNS. Empower your users by giving them the tools to register, connect, and operate customized domains within your products and services.
9 |
10 |
11 | * TOC
12 | {:toc}
13 |
14 |
15 |
16 | ## [Registering a domain](/use-cases/domain-registration/)
17 |
18 | In this tutorial, we'll cover how to register domains on behalf of your users (or organization). We'll discuss how to gather contact information required for domain registration, create a purchase order with the collected contact information, and track the domain registration progress – allowing you to keep your users in the know.
19 |
20 | ## [Issuing certificates](/use-cases/issue-certificates/)
21 |
22 | In this tutorial, we'll discuss how to issue a LetsEncrypt certificate for your domain. We'll go over requesting the certificate and using webhooks to track when the certificate has been issued and is ready for installation.
23 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | ## Setup
4 |
5 | 1. Clone this repository
6 | 1. Run `asdf install`
7 | 1. Run `bundle install`
8 | 1. Start your local instance with `rake run`
9 |
10 | The site will be visible at [localhost:3000](http://localhost:3000).
11 |
12 | ## Development
13 |
14 | Use `rake run` to start the site. The server will automatically re-compiles changed files.
15 |
16 | ## Deployment
17 |
18 | The `main` branch is deployed automatically via Netlify.
19 |
20 | ## Creating new fixtures
21 |
22 | - Use the sandbox API. Avoid using the production API as much as possible.
23 | - Run `bin/download_fixture.sh YOUR_TOKEN HTTP_METHOD URL > fixtures/v2/api/OPERATION/meaningful_name.http`
24 |
25 | Example:
26 |
27 | ```
28 | bin/download_fixture.sh 0123456789abcdefghijklmnopqrstuv GET https://api.sandbox.dnsimple.com/v2/tlds > fixtures/v2/api/listTlds/success.http`
29 | bin/download_fixture.sh 0123456789abcdefghijklmnopqrstuv POST https://api.sandbox.dnsimple.com/v2/registrar/domains/example-delta.com/registrations "{\"registrant_id\":2715}" > fixtures/v2/api/registerDomain/success.http
30 | ```
31 |
--------------------------------------------------------------------------------
/content/v2/identity.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Identity API | DNSimple API v2
3 | excerpt: This page documents the DNSimple identity API v2 endpoint.
4 | ---
5 |
6 | # Identity API
7 |
8 | * TOC
9 | {:toc}
10 |
11 |
12 | ## Whoami {#whoami}
13 |
14 | Retrieves the details about the current authenticated entity used to access the API.
15 |
16 | ~~~
17 | GET /whoami
18 | ~~~
19 |
20 | ### Example
21 |
22 | ~~~
23 | curl -H 'Authorization: Bearer ' \
24 | -H 'Accept: application/json' \
25 | https://api.dnsimple.com/v2/whoami
26 | ~~~
27 |
28 | ### Response
29 |
30 | Responds with HTTP 200. Either user or account may be nil, depending on how you are authenticated.
31 |
32 | ##### Example when authenticated with an Account access token
33 |
34 | ~~~json
35 | <%= pretty_print_fixture("/api/whoami/success-account.http") %>
36 | ~~~
37 |
38 | ##### Example when authenticated with an User access token
39 |
40 | ~~~json
41 | <%= pretty_print_fixture("/api/whoami/success-user.http") %>
42 | ~~~
43 |
44 | ### Errors
45 |
46 | Responds with [HTTP 401](/v2/#unauthorized) in case of case of authentication issues.
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/whois_privacy.renew/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 837
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": true, "registrant_id": 2715}, "whois_privacy": {"id": 902, "enabled": true, "domain_id": 181984, "created_at": "2020-06-04T20:01:27Z", "expires_on": "2022-06-04", "updated_at": "2020-06-04T20:15:23Z"}}, "name": "whois_privacy.renew", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "6164c3bb-f9df-4e00-b560-e122b19e25f7"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/whois_privacy.enable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 839
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}, "whois_privacy": {"id": 902, "enabled": false, "domain_id": 181984, "created_at": "2020-06-04T20:01:27Z", "expires_on": null, "updated_at": "2020-06-04T20:01:27Z"}}, "name": "whois_privacy.enable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "2708ba50-c35d-4339-a7b6-be790fe1aebc"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/whois_privacy.purchase/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 841
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T19:15:21Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}, "whois_privacy": {"id": 902, "enabled": false, "domain_id": 181984, "created_at": "2020-06-04T20:01:27Z", "expires_on": null, "updated_at": "2020-06-04T20:01:27Z"}}, "name": "whois_privacy.purchase", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "c04fefd7-d588-4efd-996e-cd457736abe1"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/whois_privacy.disable/example.http:
--------------------------------------------------------------------------------
1 | POST / HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03
6 | Content-Length: 848
7 | Connection: keep-alive
8 |
9 | {"data": {"domain": {"id": 181984, "name": "example-alpha.com", "state": "registered", "account_id": 1385, "auto_renew": false, "created_at": "2020-06-04T19:15:14Z", "expires_at": "2021-06-05T02:15:00Z", "expires_on": "2021-06-05", "updated_at": "2020-06-04T20:37:32Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2715}, "whois_privacy": {"id": 902, "enabled": false, "domain_id": 181984, "created_at": "2020-06-04T20:01:27Z", "expires_on": "2022-06-04", "updated_at": "2020-06-04T20:41:24Z"}}, "name": "whois_privacy.disable", "actor": {"id": "1331", "entity": "user", "pretty": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "account": {"id": 1385, "display": "xxxxxxx-xxxxxxx-xxxxxxx", "identifier": "xxxxxxx-xxxxxxx-xxxxxxx@xxxxx.com"}, "api_version": "v2", "request_identifier": "5a3d96eb-bf52-40c3-830c-38bc11b47244"}
10 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dnsimple-developer",
3 | "version": "0.0.1",
4 | "private": true,
5 | "devDependencies": {
6 | "@fortawesome/fontawesome-free": "^7.1.0",
7 | "@redocly/cli": "^2.7.0",
8 | "@vue/compiler-sfc": "^3.4.21",
9 | "concurrently": "^9.2.1",
10 | "copy-webpack-plugin": "^13.0.1",
11 | "eslint": "^7.18.0",
12 | "eslint-config-standard": "^16.0.2",
13 | "eslint-plugin-import": "^2.32.0",
14 | "eslint-plugin-node": "^11.1.0",
15 | "eslint-plugin-promise": "^5.2.0",
16 | "eslint-plugin-standard": "^5.0.0",
17 | "tachyons": "^4.12.0",
18 | "vue-loader": "^17.4.2",
19 | "webpack": "^5.102.1",
20 | "webpack-cli": "^6.0.1"
21 | },
22 | "scripts": {
23 | "live": "concurrently 'bundle exec nanoc live' 'bundle exec rake compile'",
24 | "build": "npx webpack",
25 | "openapi-lint": "redocly lint content/v2/openapi.yml"
26 | },
27 | "dependencies": {
28 | "highlightjs": "^9.16.2",
29 | "marked": "^16.4.1",
30 | "vue": "^3.5.22"
31 | },
32 | "resolutions": {
33 | "ansi-regex": "5.0.1",
34 | "glob-parent": "^5.1.2"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/fixtures/v2/api/appliedServices/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 15 Jun 2016 11:09:44 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2398
8 | X-RateLimit-Reset: 1465992405
9 | ETag: W/"f3fb525524e0a0eab452025850afb062"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 03bcc2ff-d1f1-4fc2-bb3f-9218a21c04b7
12 | X-Runtime: 0.065526
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":1,"name":"WordPress","sid":"wordpress","description":"Share with the world, your community, or your closest friends.","setup_description":null,"requires_setup":true,"default_subdomain":"blog","created_at":"2013-11-05T18:06:50Z","updated_at":"2016-03-04T09:23:27Z","settings":[{"name":"site","label":"Site","append":null,"description":"Your Wordpress.com subdomain","example":null,"password":false}]}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
--------------------------------------------------------------------------------
/src/components/tabs.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ tab }}
5 |
6 |
11 |
12 |
13 |
14 |
36 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listPrimaryServers/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Wed, 17 Mar 2021 22:45:37 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2394
8 | X-RateLimit-Reset: 1616024598
9 | ETag: W/"1a8276fb3483d6954afe139480753c5b"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 411f7b7c-3ebb-4b6a-a986-5ffd8dcd4144
12 | X-Runtime: 0.159587
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":[{"id":1,"account_id":531,"name":"Primary","ip":"1.1.1.1","port":4567,"linked_secondary_zones":[],"created_at":"2021-03-05T18:02:23Z","updated_at":"2021-03-05T18:02:23Z"},{"id":2,"account_id":531,"name":"Primary Production","ip":"1.1.1.1","port":4567,"linked_secondary_zones":["secondaryzone.com"],"created_at":"2021-03-16T20:33:34Z","updated_at":"2021-03-16T20:33:34Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
--------------------------------------------------------------------------------
/content/assets/images/sun.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fixtures/v2/api/enableVanityNameServers/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 14 Jul 2016 13:22:17 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1468506137
9 | ETag: W/"ddc2c4431fb922cefbf5706b6d32796e"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 3fd2135a-aeb4-4297-8826-a10705740fbb
12 | X-Runtime: 0.438926
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":1,"name":"ns1.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-14T13:22:17Z","updated_at":"2016-07-14T13:22:17Z"},{"id":2,"name":"ns2.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-14T13:22:17Z","updated_at":"2016-07-14T13:22:17Z"},{"id":3,"name":"ns3.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-14T13:22:17Z","updated_at":"2016-07-14T13:22:17Z"},{"id":4,"name":"ns4.example.com","ipv4":"127.0.0.1","ipv6":"::1","created_at":"2016-07-14T13:22:17Z","updated_at":"2016-07-14T13:22:17Z"}]}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listTlds/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Fri, 23 Sep 2016 08:22:50 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: 1474622397
9 | ETag: W/"06436132982cdf558bc1472b1e15a786"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: c78c1f6c-2143-4646-9049-313ccd9e24bd
12 | X-Runtime: 0.012861
13 | X-Content-Type-Options: nosniff
14 | X-Download-Options: noopen
15 | X-Frame-Options: DENY
16 | X-Permitted-Cross-Domain-Policies: none
17 | X-XSS-Protection: 1; mode=block
18 | Strict-Transport-Security: max-age=31536000
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","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}}
21 |
--------------------------------------------------------------------------------
/lib/default.rb:
--------------------------------------------------------------------------------
1 | require 'net/http'
2 | require 'json'
3 | require 'kramdown'
4 |
5 | include Nanoc::Helpers::Rendering
6 | include Nanoc::Helpers::XMLSitemap
7 |
8 | ROOT = File.expand_path("../../", __FILE__)
9 |
10 | def read_http_fixture(filename)
11 | File.read(File.join(ROOT, "fixtures", "v2", filename))
12 | end
13 |
14 | def pretty_print_fixture(filename)
15 | raw_response = read_http_fixture(filename)
16 |
17 | socket = Net::BufferedIO.new(StringIO.new(raw_response))
18 | response = Net::HTTPResponse.read_new(socket)
19 | transfer_encoding = response.delete('transfer-encoding')
20 | response.reading_body(socket, true) {}
21 |
22 | body = response.read_body
23 | body ? JSON.pretty_generate(JSON.parse(body)) : nil
24 | end
25 |
26 | def blog_articles
27 | uri = URI('https://blog.dnsimple.com/feed.json')
28 | res = Net::HTTP.get(uri)
29 | feed = JSON.parse(res, { symbolize_names: true })
30 | features = feed[:items].select { |item| item[:tags].downcase.include? "feature" }
31 |
32 | main = features.find { |item| item[:illustration] }
33 | secondary = features.select { |item| item[:title] != main[:title] }
34 |
35 | {
36 | main: main,
37 | secondary: secondary.take(2)
38 | }
39 | end
40 |
41 | def as_markdown(str)
42 | Kramdown::Document.new(str).to_html
43 | end
44 |
--------------------------------------------------------------------------------
/content/v2/templates/domains.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Domain templates API | Templates | DNSimple API v2
3 | excerpt: This page documents the DNSimple domain templates API v2.
4 | ---
5 |
6 | # Domain templates API
7 |
8 | * TOC
9 | {:toc}
10 |
11 |
12 | ## Apply a template {#applyTemplateToDomain}
13 |
14 | Applies a template to a domain.
15 |
16 | ~~~
17 | POST /:account/domains/:domain/templates/:template
18 | ~~~
19 |
20 | ### Parameters
21 |
22 | Name | Type | Description
23 | -----|------|------------
24 | `:account` | `integer` | The account id
25 | `:domain` | `string`, `integer` | The domain name or id
26 | `:template` | `string`, `integer` | The template id or short name
27 |
28 | ### Example
29 |
30 | Apply the template with the ID `1` in the domain `example.com`, in the account `1010`:
31 |
32 | ~~~
33 | curl -H 'Authorization: Bearer ' \
34 | -H 'Accept: application/json' \
35 | -H 'Content-Type: application/json' \
36 | -X POST \
37 | https://api.dnsimple.com/v2/1010/domains/example.com/templates/1
38 | ~~~
39 |
40 | ### Response
41 |
42 | Responds with HTTP 204 on success.
43 |
44 | ### Errors
45 |
46 | Responds with [HTTP 400](/v2/#bad-request) if the template cannot be applied to the domain.
47 |
48 | Responds with [HTTP 401](/v2/#unauthorized) in case of case of authentication issues.
--------------------------------------------------------------------------------
/content/v2/accounts.markdown:
--------------------------------------------------------------------------------
1 | ---
2 | title: Accounts API | DNSimple API v2
3 | excerpt: This page documents the DNSimple accounts API v2 endpoint.
4 | ---
5 |
6 | # Accounts API
7 |
8 | * TOC
9 | {:toc}
10 |
11 |
12 | ## Account attributes {#account-attributes}
13 |
14 | Please refer to the definition of the `Account` data type in [our OpenAPI documentation](/v2/openapi.yml).
15 |
16 |
17 | ## List accounts {#listAccounts}
18 |
19 | Lists the accounts the current authenticated entity has access to.
20 |
21 | ~~~
22 | GET /accounts
23 | ~~~
24 |
25 | ### Example
26 |
27 | ~~~
28 | curl -H 'Authorization: Bearer ' \
29 | -H 'Accept: application/json' \
30 | https://api.dnsimple.com/v2/accounts
31 | ~~~
32 |
33 | ### Response
34 |
35 | Responds with HTTP 200. Depending on how you are authenticated you will see all the accounts you have access to or the account you used to authenticate.
36 |
37 | ##### Example when authenticated with an Account access token
38 |
39 | ~~~json
40 | <%= pretty_print_fixture("/api/listAccounts/success-account.http") %>
41 | ~~~
42 |
43 | ##### Example when authenticated with an User access token
44 |
45 | ~~~json
46 | <%= pretty_print_fixture("/api/listAccounts/success-user.http") %>
47 | ~~~
48 |
49 | ### Errors
50 |
51 | Responds with [HTTP 401](/v2/#unauthorized) in case of case of authentication issues.
--------------------------------------------------------------------------------
/fixtures/v2/api/listDomains/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Thu, 04 Jun 2020 19:54:16 GMT
4 | Content-Type: application/json; charset=utf-8
5 | Connection: keep-alive
6 | X-RateLimit-Limit: 2400
7 | X-RateLimit-Remaining: 2399
8 | X-RateLimit-Reset: 1591304056
9 | ETag: W/"732eac2d85c19810f4e84dbc0eaafb9d"
10 | Cache-Control: max-age=0, private, must-revalidate
11 | X-Request-Id: 458d7b96-bb1a-469a-817e-4fd65c0f1db3
12 | X-Runtime: 0.125593
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 | Strict-Transport-Security: max-age=31536000
19 |
20 | {"data":[{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"},{"id":181985,"account_id":1385,"registrant_id":null,"name":"example-beta.com","unicode_name":"example-beta.com","state":"hosted","auto_renew":false,"private_whois":false,"expires_on":null,"expires_at":null,"created_at":"2020-06-04T19:47:05Z","updated_at":"2020-06-04T19:47:05Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
21 |
--------------------------------------------------------------------------------
/fixtures/v2/webhooks/dnssec.rotation_start/example.http:
--------------------------------------------------------------------------------
1 | POST /1djlwbe1 HTTP/1.1
2 | Host: example.com
3 | Accept-Encoding: gzip
4 | Content-Type: application/json
5 | User-Agent: DNSimple-Webhook-Notifier/46408cbfd86e25e0a375a09353a73c55a4825a28
6 | Content-Length: 1113
7 | Connection: keep-alive
8 |
9 | {"data": {"zone": {"id": 315333, "name": "example-20230920163010.com", "active": true, "reverse": false, "secondary": false, "account_id": 625, "created_at": "2023-09-20T14:30:19Z", "updated_at": "2025-06-13T13:11:52Z", "last_transferred_at": null}, "dnssec": {"enabled": true, "created_at": "2025-06-13T13:11:52Z", "updated_at": "2025-06-13T13:11:52Z"}, "delegation_signer_record": {"id": null, "digest": "42AEE231E98FECE484E9FA983CEF28AFFA56E99AD26347806BC6AF291F67DE83", "keytag": "60812", "algorithm": "8", "domain_id": 30943, "created_at": null, "public_key": "AwEAAefkQW+2ZO79nSaQ2eUVGhdmcapkGvZcmc5Xd9ig50k76eldueP198qtMsCV+27KZLqphTbYb4zOh1cF432TyKluZu89VzeVNC7Lq4kxDN1ahJfOCmBXg+/JAbb+NtKzH751CP/cWbwAShCwRb10TipwmTdZRYdOs3y9tKQq7BIE4YnEGrGb4lfCXrKK15Jn2im2f/MtVEuSF+eDB3X/XPU=", "updated_at": null, "digest_type": "2"}}, "name": "dnssec.rotation_start", "actor": {"id": "", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 625, "display": "Webhook Tests", "identifier": "webhooks@example.com"}, "api_version": "v2", "request_identifier": "cf0252ab-80ea-40ab-8590-7b145d28dd61"}
10 |
--------------------------------------------------------------------------------
/fixtures/v2/api/listContacts/success.http:
--------------------------------------------------------------------------------
1 | HTTP/1.1 200 OK
2 | Server: nginx
3 | Date: Tue, 19 Jan 2016 18:35:01 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: 3998
9 | X-RateLimit-Reset: 1453232080
10 | ETag: W/"42b9dd8efe7dec210d55855cdf2debae"
11 | Cache-Control: max-age=0, private, must-revalidate
12 | X-Request-Id: 7871da61-ecf1-4771-8560-efbcf7f4b961
13 | X-Runtime: 0.067822
14 | Strict-Transport-Security: max-age=31536000
15 |
16 | {"data":[{"id":1,"account_id":1010,"label":"Default","first_name":"First","last_name":"User","job_title":"CEO","organization_name":"Awesome Company","email":"first@example.com","phone":"+18001234567","fax":"+18011234567","address1":"Italian Street, 10","address2":"","city":"Roma","state_province":"RM","postal_code":"00100","country":"IT","created_at":"2013-11-08T17:23:15Z","updated_at":"2015-01-08T21:30:50Z"},{"id":2,"account_id":1010,"label":"","first_name":"Second","last_name":"User","job_title":"","organization_name":"","email":"second@example.com","phone":"+18881234567","fax":"","address1":"French Street","address2":"c/o Someone","city":"Paris","state_province":"XY","postal_code":"00200","country":"FR","created_at":"2014-12-06T15:46:18Z","updated_at":"2014-12-06T15:46:18Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
17 |
--------------------------------------------------------------------------------