├── .github ├── dependabot.yml └── workflows │ └── ci.yml ├── .gitignore ├── .golangci.yml ├── .markdownlint.yaml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── Makefile ├── README.md ├── dnsimple ├── accounts.go ├── accounts_test.go ├── authentication.go ├── authentication_test.go ├── billing.go ├── billing_test.go ├── certificates.go ├── certificates_test.go ├── contacts.go ├── contacts_test.go ├── dns_analytics.go ├── dns_analytics_test.go ├── dnsimple.go ├── dnsimple_test.go ├── domains.go ├── domains_delegation_signer_records.go ├── domains_delegation_signer_records_test.go ├── domains_dnssec.go ├── domains_dnssec_test.go ├── domains_email_forwards.go ├── domains_email_forwards_test.go ├── domains_pushes.go ├── domains_pushes_test.go ├── domains_test.go ├── identity.go ├── identity_test.go ├── live_test.go ├── oauth.go ├── oauth_test.go ├── registrar.go ├── registrar_auto_renewal.go ├── registrar_auto_renewal_test.go ├── registrar_delegation.go ├── registrar_delegation_test.go ├── registrar_domain_transfer_lock.go ├── registrar_domain_transfer_lock_test.go ├── registrar_registrant_changes.go ├── registrar_registrant_changes_test.go ├── registrar_test.go ├── registrar_whois_privacy.go ├── registrar_whois_privacy_test.go ├── services.go ├── services_domains.go ├── services_domains_test.go ├── services_test.go ├── templates.go ├── templates_domains.go ├── templates_domains_test.go ├── templates_records.go ├── templates_records_test.go ├── templates_test.go ├── tlds.go ├── tlds_test.go ├── users.go ├── vanity_name_server.go ├── vanity_name_servers_test.go ├── webhook │ ├── events.go │ ├── events_test.go │ ├── webhook.go │ └── webhook_test.go ├── webhooks.go ├── webhooks_test.go ├── zone_distributions.go ├── zones.go ├── zones_distributions_test.go ├── zones_records.go ├── zones_records_test.go └── zones_test.go ├── fixtures.http ├── api │ ├── acceptPush │ │ └── success.http │ ├── accounts │ │ ├── success-account.http │ │ └── success-user.http │ ├── activateZoneService │ │ └── success.http │ ├── addCollaborator │ │ ├── invite-success.http │ │ └── success.http │ ├── appliedServices │ │ └── success.http │ ├── applyService │ │ └── success.http │ ├── applyTemplate │ │ └── success.http │ ├── authorizeDomainTransferOut │ │ └── success.http │ ├── badgateway.http │ ├── cancelDomainTransfer │ │ └── success.http │ ├── changeDomainDelegation │ │ └── success.http │ ├── changeDomainDelegationFromVanity │ │ └── success.http │ ├── changeDomainDelegationToVanity │ │ └── success.http │ ├── checkDomain │ │ └── success.http │ ├── checkDomainPremiumPrice │ │ ├── error_400_not_a_premium_domain.http │ │ ├── error_400_tld_not_supported.http │ │ └── success.http │ ├── checkRegistrantChange │ │ ├── error-contactnotfound.http │ │ ├── error-domainnotfound.http │ │ └── success.http │ ├── checkZoneDistribution │ │ ├── error.http │ │ ├── failure.http │ │ └── success.http │ ├── checkZoneRecordDistribution │ │ ├── error.http │ │ ├── failure.http │ │ └── success.http │ ├── createContact │ │ └── created.http │ ├── createDelegationSignerRecord │ │ ├── created.http │ │ └── validation-error.http │ ├── createDomain │ │ └── created.http │ ├── createEmailForward │ │ └── created.http │ ├── createPrimaryServer │ │ └── created.http │ ├── createRegistrantChange │ │ └── success.http │ ├── createSecondaryZone │ │ └── created.http │ ├── createTemplate │ │ └── created.http │ ├── createTemplateRecord │ │ └── created.http │ ├── createWebhook │ │ └── created.http │ ├── createZoneRecord │ │ ├── created-apex.http │ │ └── created.http │ ├── deactivateZoneService │ │ └── success.http │ ├── deleteContact │ │ ├── error-contact-in-use.http │ │ └── success.http │ ├── deleteDelegationSignerRecord │ │ └── success.http │ ├── deleteDomain │ │ └── success.http │ ├── deleteEmailForward │ │ └── success.http │ ├── deleteRegistrantChange │ │ └── success.http │ ├── deleteTemplate │ │ └── success.http │ ├── deleteTemplateRecord │ │ └── success.http │ ├── deleteWebhook │ │ └── success.http │ ├── deleteZoneRecord │ │ └── success.http │ ├── disableDnssec │ │ ├── not-enabled.http │ │ └── success.http │ ├── disableDomainAutoRenewal │ │ └── success.http │ ├── disableDomainTransferLock │ │ └── success.http │ ├── disableVanityNameServers │ │ └── success.http │ ├── disableWhoisPrivacy │ │ └── success.http │ ├── dnsAnalytics │ │ └── success.http │ ├── downloadCertificate │ │ └── success.http │ ├── enableDnssec │ │ └── success.http │ ├── enableDomainAutoRenewal │ │ └── success.http │ ├── enableDomainTransferLock │ │ └── success.http │ ├── enableVanityNameServers │ │ └── success.http │ ├── enableWhoisPrivacy │ │ ├── created.http │ │ └── success.http │ ├── getCertificate │ │ └── success.http │ ├── getCertificatePrivateKey │ │ └── success.http │ ├── getContact │ │ └── success.http │ ├── getDelegationSignerRecord │ │ └── success.http │ ├── getDnssec │ │ └── success.http │ ├── getDomain │ │ └── success.http │ ├── getDomainDelegation │ │ ├── success-empty.http │ │ └── success.http │ ├── getDomainPremiumPrice │ │ ├── failure.http │ │ └── success.http │ ├── getDomainPrices │ │ ├── failure.http │ │ └── success.http │ ├── getDomainRegistration │ │ └── success.http │ ├── getDomainRenewal │ │ └── success.http │ ├── getDomainRestore │ │ └── success.http │ ├── getDomainTransfer │ │ └── success.http │ ├── getDomainTransferLock │ │ └── success.http │ ├── getEmailForward │ │ └── success.http │ ├── getPrimaryServer │ │ └── success.http │ ├── getRegistrantChange │ │ └── success.http │ ├── getService │ │ └── success.http │ ├── getTemplate │ │ └── success.http │ ├── getTemplateRecord │ │ └── success.http │ ├── getTld │ │ └── success.http │ ├── getTldExtendedAttributes │ │ ├── success-attributes.http │ │ ├── success-noattributes.http │ │ └── success.http │ ├── getWebhook │ │ └── success.http │ ├── getWhoisPrivacy │ │ └── success.http │ ├── getZone │ │ └── success.http │ ├── getZoneFile │ │ └── success.http │ ├── getZoneRecord │ │ └── success.http │ ├── initiatePush │ │ └── success.http │ ├── issueLetsencryptCertificate │ │ └── success.http │ ├── issueRenewalLetsencryptCertificate │ │ └── success.http │ ├── linkPrimaryServer │ │ └── success.http │ ├── listAccounts │ │ ├── success-account.http │ │ └── success-user.http │ ├── listCertificates │ │ └── success.http │ ├── listCharges │ │ ├── fail-400-bad-filter.http │ │ ├── fail-403.http │ │ └── success.http │ ├── listCollaborators │ │ └── success.http │ ├── listContacts │ │ └── success.http │ ├── listDelegationSignerRecords │ │ └── success.http │ ├── listDomains │ │ └── success.http │ ├── listEmailForwards │ │ └── success.http │ ├── listPrimaryServers │ │ └── success.http │ ├── listPushes │ │ └── success.http │ ├── listRegistrantChanges │ │ └── success.http │ ├── listServices │ │ └── success.http │ ├── listTemplateRecords │ │ └── success.http │ ├── listTemplates │ │ └── success.http │ ├── listTlds │ │ └── success.http │ ├── listWebhooks │ │ └── success.http │ ├── listZoneRecords │ │ └── success.http │ ├── listZones │ │ └── success.http │ ├── method-not-allowed.http │ ├── notfound-certificate.http │ ├── notfound-collaborator.http │ ├── notfound-contact.http │ ├── notfound-delegationSignerRecord.http │ ├── notfound-domain.http │ ├── notfound-domainpush.http │ ├── notfound-emailforward.http │ ├── notfound-record.http │ ├── notfound-template.http │ ├── notfound-webhook.http │ ├── notfound-whoisprivacy.http │ ├── notfound-zone.http │ ├── oauthAccessToken │ │ ├── error-invalid-request.http │ │ └── success.http │ ├── pages-1of3.http │ ├── pages-2of3.http │ ├── pages-3of3.http │ ├── purchaseLetsencryptCertificate │ │ └── success.http │ ├── purchaseRenewalLetsencryptCertificate │ │ └── success.http │ ├── registerDomain │ │ ├── error-extended-attributes.http │ │ └── success.http │ ├── rejectPush │ │ └── success.http │ ├── removeCollaborator │ │ └── success.http │ ├── renewDomain │ │ ├── error-tooearly.http │ │ └── success.http │ ├── renewWhoisPrivacy │ │ ├── success.http │ │ ├── whois-privacy-duplicated-order.http │ │ └── whois-privacy-not-found.http │ ├── response.http │ ├── restoreDomain │ │ └── success.http │ ├── success-with-malformed-json.http │ ├── transferDomain │ │ ├── error-indnsimple.http │ │ ├── error-missing-authcode.http │ │ └── success.http │ ├── unapplyService │ │ └── success.http │ ├── unlinkPrimaryServer │ │ └── success.http │ ├── updateContact │ │ └── success.http │ ├── updateTemplate │ │ └── success.http │ ├── updateZoneRecord │ │ └── success.http │ ├── validation-error.http │ └── whoami │ │ ├── success-account.http │ │ ├── success-user.http │ │ └── success.http └── webhooks │ ├── account.billing_settings_update │ └── example.http │ ├── account.update │ └── example.http │ ├── account.user_invitation_accept │ └── example.http │ ├── account.user_invitation_revoke │ └── example.http │ ├── account.user_invite │ └── example.http │ ├── account.user_remove │ └── example.http │ ├── account_invitation.accept │ └── example.http │ ├── certificate.issue │ └── example.http │ ├── certificate.remove_private_key │ └── example.http │ ├── contact.create │ └── example.http │ ├── contact.delete │ └── example.http │ ├── contact.update │ └── example.http │ ├── dnssec.create │ └── example.http │ ├── dnssec.delete │ └── example.http │ ├── dnssec.rotation_complete │ └── example.http │ ├── dnssec.rotation_start │ └── example.http │ ├── domain.auto_renewal_disable │ └── example.http │ ├── domain.auto_renewal_enable │ └── example.http │ ├── domain.create │ └── example.http │ ├── domain.delegation_change │ └── example.http │ ├── domain.delete │ └── example.http │ ├── domain.register │ ├── example.http │ └── status-started.http │ ├── domain.registrant_change │ ├── example.http │ ├── status-cancelled.http │ └── status-started.http │ ├── domain.renew │ └── example.http │ ├── domain.resolution_disable │ └── example.http │ ├── domain.resolution_enable │ └── example.http │ ├── domain.transfer_lock_disable │ └── example.http │ ├── domain.transfer_lock_enable │ └── example.http │ ├── email_forward.create │ └── example.http │ ├── email_forward.delete │ └── example.http │ ├── email_forward.update │ └── example.http │ ├── subscription.renew │ └── state-failed.http │ ├── webhook.create │ └── example.http │ ├── webhook.delete │ └── example.http │ ├── whois_privacy.disable │ └── example.http │ ├── whois_privacy.enable │ └── example.http │ ├── whois_privacy.purchase │ └── example.http │ ├── whois_privacy.renew │ └── example.http │ ├── zone.create │ └── example.http │ ├── zone.delete │ └── example.http │ ├── zone_record.create │ └── example.http │ ├── zone_record.delete │ └── example.http │ └── zone_record.update │ └── example.http ├── go.mod └── go.sum /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: gomod 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 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: CI 3 | 4 | on: 5 | push: 6 | branches: [ main ] 7 | pull_request: 8 | workflow_dispatch: 9 | 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | markdownlint-cli: 16 | name: Lint markdown 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Checkout Code 20 | uses: actions/checkout@v4 21 | - name: Run markdownlint-cli 22 | uses: nosborn/github-action-markdown-cli@v3.4.0 23 | with: 24 | files: . 25 | config_file: ".markdownlint.yaml" 26 | 27 | golangci-lint: 28 | runs-on: ubuntu-latest 29 | steps: 30 | - uses: actions/checkout@v4 31 | - uses: actions/setup-go@v5 32 | with: 33 | go-version-file: 'go.mod' 34 | cache: true 35 | - name: golangci-lint 36 | uses: golangci/golangci-lint-action@v8 37 | with: 38 | version: v2.1 39 | 40 | test: 41 | runs-on: ubuntu-latest 42 | name: Go ${{ matrix.go-version }} 43 | needs: 44 | - golangci-lint 45 | - markdownlint-cli 46 | env: 47 | GOPATH: ${{ github.workspace }} 48 | defaults: 49 | run: 50 | working-directory: ${{ env.GOPATH }}/src/github.com/${{ github.repository }} 51 | strategy: 52 | matrix: 53 | go-version: 54 | - "1.23" 55 | - "1.24" 56 | steps: 57 | - uses: actions/checkout@v4 58 | with: 59 | path: ${{ env.GOPATH }}/src/github.com/${{ github.repository }} 60 | - name: Set up Go 61 | uses: actions/setup-go@v5 62 | with: 63 | go-version: ${{ matrix.go-version }} 64 | - name: Install dependencies 65 | run: go get ./... 66 | - name: Test 67 | run: go test -v ./... 68 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Local setup 2 | .tool-versions 3 | 4 | # Build 5 | /coverage.txt 6 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: '2' 3 | linters: 4 | enable: 5 | # - bodyclose # Too many false positives 6 | - copyloopvar 7 | - errorlint 8 | - gocritic 9 | - misspell 10 | - prealloc 11 | - predeclared 12 | # - revive # All name lints will require a breaking change 13 | # - testpackage 14 | - wastedassign 15 | - whitespace 16 | exclusions: 17 | generated: lax 18 | presets: 19 | - comments 20 | - common-false-positives 21 | - legacy 22 | - std-error-handling 23 | paths: 24 | - third_party$ 25 | - builtin$ 26 | - examples$ 27 | formatters: 28 | enable: 29 | - gofmt 30 | - gofumpt 31 | - goimports 32 | exclusions: 33 | generated: lax 34 | paths: 35 | - third_party$ 36 | - builtin$ 37 | - examples$ 38 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | default: true 3 | 4 | # no-hard-tabs 5 | MD010: 6 | code_blocks: false 7 | 8 | # no-multiple-blanks 9 | MD012: 10 | maximum: 2 11 | 12 | # line-length 13 | MD013: false 14 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2025 DNSimple Corporation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: test 2 | 3 | .PHONY: test 4 | test: 5 | go test -v ./... 6 | 7 | .PHONY: fmt 8 | fmt: 9 | gofumpt -l -w . 10 | 11 | .PHONY: lint 12 | lint: 13 | golangci-lint run 14 | -------------------------------------------------------------------------------- /dnsimple/accounts.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | ) 6 | 7 | // AccountsService handles communication with the account related 8 | // methods of the DNSimple API. 9 | // 10 | // See https://developer.dnsimple.com/v2/accounts/ 11 | type AccountsService struct { 12 | client *Client 13 | } 14 | 15 | // Account represents a DNSimple account. 16 | type Account struct { 17 | ID int64 `json:"id,omitempty"` 18 | Email string `json:"email,omitempty"` 19 | PlanIdentifier string `json:"plan_identifier,omitempty"` 20 | CreatedAt string `json:"created_at,omitempty"` 21 | UpdatedAt string `json:"updated_at,omitempty"` 22 | } 23 | 24 | // AccountsResponse represents a response from an API method that returns a collection of Account struct. 25 | type AccountsResponse struct { 26 | Response 27 | Data []Account `json:"data"` 28 | } 29 | 30 | // AccountInvitation represents an invitation to a DNSimple account. 31 | type AccountInvitation struct { 32 | ID int64 `json:"id,omitempty"` 33 | Email string `json:"email,omitempty"` 34 | Token string `json:"token,omitempty"` 35 | AccountID int64 `json:"account_id,omitempty"` 36 | CreatedAt string `json:"created_at,omitempty"` 37 | UpdatedAt string `json:"updated_at,omitempty"` 38 | InvitationSentAt string `json:"invitation_sent_at,omitempty"` 39 | InvitationAcceptedAt string `json:"invitation_accepted_at,omitempty"` 40 | } 41 | 42 | // ListAccounts list the accounts for an user. 43 | // 44 | // See https://developer.dnsimple.com/v2/accounts/#list 45 | func (s *AccountsService) ListAccounts(ctx context.Context, options *ListOptions) (*AccountsResponse, error) { 46 | path := versioned("/accounts") 47 | accountsResponse := &AccountsResponse{} 48 | 49 | path, err := addURLQueryOptions(path, options) 50 | if err != nil { 51 | return nil, err 52 | } 53 | 54 | resp, err := s.client.get(ctx, path, accountsResponse) 55 | if err != nil { 56 | return accountsResponse, err 57 | } 58 | 59 | accountsResponse.HTTPResponse = resp 60 | return accountsResponse, nil 61 | } 62 | -------------------------------------------------------------------------------- /dnsimple/accounts_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "io" 6 | "net/http" 7 | "net/url" 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func TestAccountsService_List(t *testing.T) { 14 | setupMockServer() 15 | defer teardownMockServer() 16 | 17 | mux.HandleFunc("/v2/accounts", func(w http.ResponseWriter, r *http.Request) { 18 | httpResponse := httpResponseFixture(t, "/api/listAccounts/success-user.http") 19 | 20 | testMethod(t, r, "GET") 21 | testHeaders(t, r) 22 | testQuery(t, r, url.Values{}) 23 | 24 | w.WriteHeader(httpResponse.StatusCode) 25 | _, _ = io.Copy(w, httpResponse.Body) 26 | }) 27 | 28 | accountsResponse, err := client.Accounts.ListAccounts(context.Background(), nil) 29 | assert.NoError(t, err) 30 | 31 | accounts := accountsResponse.Data 32 | assert.Len(t, accounts, 2) 33 | assert.Equal(t, int64(123), accounts[0].ID) 34 | assert.Equal(t, "john@example.com", accounts[0].Email) 35 | } 36 | -------------------------------------------------------------------------------- /dnsimple/authentication_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "testing" 6 | 7 | "golang.org/x/oauth2" 8 | 9 | "github.com/stretchr/testify/assert" 10 | ) 11 | 12 | func TestBasicAuthHTTPClient(t *testing.T) { 13 | ctx := context.Background() 14 | x := "user" 15 | y := "pass" 16 | h := BasicAuthHTTPClient(ctx, x, y) 17 | rt := h.Transport 18 | 19 | ts, ok := rt.(*BasicAuthTransport) 20 | 21 | assert.True(t, ok) 22 | assert.Equal(t, x, ts.Username) 23 | assert.Equal(t, y, ts.Password) 24 | } 25 | 26 | func TestStaticTokenHTTPClient(t *testing.T) { 27 | ctx := context.Background() 28 | x := "123456" 29 | h := StaticTokenHTTPClient(ctx, x) 30 | rt := h.Transport 31 | 32 | ts, ok := rt.(*oauth2.Transport) 33 | 34 | assert.True(t, ok) 35 | tk, _ := ts.Source.Token() 36 | assert.Equal(t, x, tk.AccessToken) 37 | } 38 | -------------------------------------------------------------------------------- /dnsimple/billing.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | 7 | "github.com/shopspring/decimal" 8 | ) 9 | 10 | type ListChargesOptions struct { 11 | // Only include results after the given date. 12 | StartDate string `url:"start_date,omitempty"` 13 | 14 | // Only include results before the given date. 15 | EndDate string `url:"end_date,omitempty"` 16 | 17 | // Sort results. Default sorting is by invoiced ascending. 18 | Sort string `url:"sort,omitempty"` 19 | } 20 | 21 | type ListChargesResponse struct { 22 | Response 23 | Data []Charge `json:"data"` 24 | } 25 | 26 | type Charge struct { 27 | InvoicedAt string `json:"invoiced_at,omitempty"` 28 | TotalAmount decimal.Decimal `json:"total_amount,omitempty"` 29 | BalanceAmount decimal.Decimal `json:"balance_amount,omitempty"` 30 | Reference string `json:"reference,omitempty"` 31 | State string `json:"state,omitempty"` 32 | Items []ChargeItem `json:"items,omitempty"` 33 | } 34 | 35 | type ChargeItem struct { 36 | Description string `json:"description,omitempty"` 37 | Amount decimal.Decimal `json:"amount,omitempty"` 38 | ProductId int64 `json:"product_id,omitempty"` 39 | ProductType string `json:"product_type,omitempty"` 40 | ProductReference string `json:"product_reference,omitempty"` 41 | } 42 | 43 | type BillingService struct { 44 | client *Client 45 | } 46 | 47 | // Lists the billing charges for the account. 48 | // 49 | // See https://developer.dnsimple.com/v2/billing/#listCharges 50 | func (s *BillingService) ListCharges(ctx context.Context, account string, options ListChargesOptions) (*ListChargesResponse, error) { 51 | path := fmt.Sprintf("/v2/%v/billing/charges", account) 52 | listResponse := &ListChargesResponse{} 53 | 54 | path, err := addURLQueryOptions(path, options) 55 | if err != nil { 56 | return nil, err 57 | } 58 | 59 | resp, err := s.client.get(ctx, path, listResponse) 60 | if err != nil { 61 | return nil, err 62 | } 63 | 64 | listResponse.HTTPResponse = resp 65 | return listResponse, nil 66 | } 67 | -------------------------------------------------------------------------------- /dnsimple/identity.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | ) 6 | 7 | // IdentityService handles communication with several authentication identity 8 | // methods of the DNSimple API. 9 | // 10 | // See https://developer.dnsimple.com/v2/identity/ 11 | type IdentityService struct { 12 | client *Client 13 | } 14 | 15 | // WhoamiData represents an authenticated context 16 | // that contains information about the current logged User and/or Account. 17 | type WhoamiData struct { 18 | User *User `json:"user,omitempty"` 19 | Account *Account `json:"account,omitempty"` 20 | } 21 | 22 | // WhoamiResponse represents a response from an API method that returns a Whoami struct. 23 | type WhoamiResponse struct { 24 | Response 25 | Data *WhoamiData `json:"data"` 26 | } 27 | 28 | // Whoami gets the current authenticate context. 29 | // 30 | // See https://developer.dnsimple.com/v2/whoami 31 | func (s *IdentityService) Whoami(ctx context.Context) (*WhoamiResponse, error) { 32 | path := versioned("/whoami") 33 | whoamiResponse := &WhoamiResponse{} 34 | 35 | resp, err := s.client.get(ctx, path, whoamiResponse) 36 | if err != nil { 37 | return nil, err 38 | } 39 | 40 | whoamiResponse.HTTPResponse = resp 41 | return whoamiResponse, nil 42 | } 43 | 44 | // Whoami is a state-less shortcut to client.Whoami() that returns only the relevant Data. 45 | func Whoami(ctx context.Context, c *Client) (data *WhoamiData, err error) { 46 | resp, err := c.Identity.Whoami(ctx) 47 | if resp != nil { 48 | data = resp.Data 49 | } 50 | return 51 | } 52 | -------------------------------------------------------------------------------- /dnsimple/identity_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "io" 6 | "net/http" 7 | "testing" 8 | 9 | "github.com/stretchr/testify/assert" 10 | ) 11 | 12 | func TestAuthService_Whoami(t *testing.T) { 13 | setupMockServer() 14 | defer teardownMockServer() 15 | 16 | mux.HandleFunc("/v2/whoami", func(w http.ResponseWriter, r *http.Request) { 17 | httpResponse := httpResponseFixture(t, "/api/whoami/success.http") 18 | 19 | testMethod(t, r, "GET") 20 | testHeaders(t, r) 21 | 22 | w.WriteHeader(httpResponse.StatusCode) 23 | _, _ = io.Copy(w, httpResponse.Body) 24 | }) 25 | 26 | whoamiResponse, err := client.Identity.Whoami(context.Background()) 27 | 28 | assert.NoError(t, err) 29 | whoami := whoamiResponse.Data 30 | assert.Nil(t, whoami.User) 31 | assert.NotNil(t, whoami.Account) 32 | account := whoami.Account 33 | assert.Equal(t, int64(1), account.ID) 34 | assert.Equal(t, "example-account@example.com", account.Email) 35 | assert.Equal(t, "dnsimple-professional", account.PlanIdentifier) 36 | } 37 | -------------------------------------------------------------------------------- /dnsimple/registrar_auto_renewal.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | ) 7 | 8 | // EnableDomainAutoRenewal enables auto-renewal for the domain. 9 | // 10 | // See https://developer.dnsimple.com/v2/registrar/auto-renewal/#enable 11 | func (s *RegistrarService) EnableDomainAutoRenewal(ctx context.Context, accountID string, domainName string) (*DomainResponse, error) { 12 | path := versioned(fmt.Sprintf("/%v/registrar/domains/%v/auto_renewal", accountID, domainName)) 13 | domainResponse := &DomainResponse{} 14 | 15 | resp, err := s.client.put(ctx, path, nil, nil) 16 | if err != nil { 17 | return nil, err 18 | } 19 | 20 | domainResponse.HTTPResponse = resp 21 | return domainResponse, nil 22 | } 23 | 24 | // DisableDomainAutoRenewal disables auto-renewal for the domain. 25 | // 26 | // See https://developer.dnsimple.com/v2/registrar/auto-renewal/#enable 27 | func (s *RegistrarService) DisableDomainAutoRenewal(ctx context.Context, accountID string, domainName string) (*DomainResponse, error) { 28 | path := versioned(fmt.Sprintf("/%v/registrar/domains/%v/auto_renewal", accountID, domainName)) 29 | domainResponse := &DomainResponse{} 30 | 31 | resp, err := s.client.delete(ctx, path, nil, nil) 32 | if err != nil { 33 | return nil, err 34 | } 35 | 36 | domainResponse.HTTPResponse = resp 37 | return domainResponse, nil 38 | } 39 | -------------------------------------------------------------------------------- /dnsimple/registrar_auto_renewal_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | "testing" 7 | 8 | "github.com/stretchr/testify/assert" 9 | ) 10 | 11 | func TestRegistrarService_EnableDomainAutoRenewal(t *testing.T) { 12 | setupMockServer() 13 | defer teardownMockServer() 14 | 15 | mux.HandleFunc("/v2/1010/registrar/domains/example.com/auto_renewal", func(w http.ResponseWriter, r *http.Request) { 16 | httpResponse := httpResponseFixture(t, "/api/enableDomainAutoRenewal/success.http") 17 | 18 | testMethod(t, r, "PUT") 19 | testHeaders(t, r) 20 | 21 | w.WriteHeader(httpResponse.StatusCode) 22 | }) 23 | 24 | accountID := "1010" 25 | 26 | _, err := client.Registrar.EnableDomainAutoRenewal(context.Background(), accountID, "example.com") 27 | 28 | assert.NoError(t, err) 29 | } 30 | 31 | func TestRegistrarService_DisableDomainAutoRenewal(t *testing.T) { 32 | setupMockServer() 33 | defer teardownMockServer() 34 | 35 | mux.HandleFunc("/v2/1010/registrar/domains/example.com/auto_renewal", func(w http.ResponseWriter, r *http.Request) { 36 | httpResponse := httpResponseFixture(t, "/api/disableDomainAutoRenewal/success.http") 37 | 38 | testMethod(t, r, "DELETE") 39 | testHeaders(t, r) 40 | 41 | w.WriteHeader(httpResponse.StatusCode) 42 | }) 43 | 44 | accountID := "1010" 45 | 46 | _, err := client.Registrar.DisableDomainAutoRenewal(context.Background(), accountID, "example.com") 47 | 48 | assert.NoError(t, err) 49 | } 50 | -------------------------------------------------------------------------------- /dnsimple/templates_domains.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | ) 7 | 8 | // ApplyTemplate applies a template to the given domain. 9 | // 10 | // See https://developer.dnsimple.com/v2/templates/domains/#applyTemplateToDomain 11 | func (s *TemplatesService) ApplyTemplate(ctx context.Context, accountID string, templateIdentifier string, domainIdentifier string) (*TemplateResponse, error) { 12 | path := versioned(fmt.Sprintf("%v/templates/%v", domainPath(accountID, domainIdentifier), templateIdentifier)) 13 | templateResponse := &TemplateResponse{} 14 | 15 | resp, err := s.client.post(ctx, path, nil, nil) 16 | if err != nil { 17 | return nil, err 18 | } 19 | 20 | templateResponse.HTTPResponse = resp 21 | return templateResponse, nil 22 | } 23 | -------------------------------------------------------------------------------- /dnsimple/templates_domains_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "io" 6 | "net/http" 7 | "testing" 8 | 9 | "github.com/stretchr/testify/assert" 10 | ) 11 | 12 | func TestTemplatesService_ApplyTemplate(t *testing.T) { 13 | setupMockServer() 14 | defer teardownMockServer() 15 | 16 | mux.HandleFunc("/v2/1010/domains/example.com/templates/1", func(w http.ResponseWriter, r *http.Request) { 17 | httpResponse := httpResponseFixture(t, "/api/applyTemplate/success.http") 18 | 19 | testMethod(t, r, "POST") 20 | testHeaders(t, r) 21 | 22 | w.WriteHeader(httpResponse.StatusCode) 23 | _, _ = io.Copy(w, httpResponse.Body) 24 | }) 25 | 26 | _, err := client.Templates.ApplyTemplate(context.Background(), "1010", "1", "example.com") 27 | 28 | assert.NoError(t, err) 29 | } 30 | -------------------------------------------------------------------------------- /dnsimple/users.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | // User represents a DNSimple user. 4 | type User struct { 5 | ID int64 `json:"id,omitempty"` 6 | Email string `json:"email,omitempty"` 7 | } 8 | -------------------------------------------------------------------------------- /dnsimple/vanity_name_servers_test.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "io" 6 | "net/http" 7 | "testing" 8 | 9 | "github.com/stretchr/testify/assert" 10 | ) 11 | 12 | func TestVanityNameServers_vanityNameServerPath(t *testing.T) { 13 | assert.Equal(t, "/1010/vanity/example.com", vanityNameServerPath("1010", "example.com")) 14 | } 15 | 16 | func TestVanityNameServersService_EnableVanityNameServers(t *testing.T) { 17 | setupMockServer() 18 | defer teardownMockServer() 19 | 20 | mux.HandleFunc("/v2/1010/vanity/example.com", func(w http.ResponseWriter, r *http.Request) { 21 | httpResponse := httpResponseFixture(t, "/api/enableVanityNameServers/success.http") 22 | 23 | testMethod(t, r, "PUT") 24 | testHeaders(t, r) 25 | 26 | w.WriteHeader(httpResponse.StatusCode) 27 | _, _ = io.Copy(w, httpResponse.Body) 28 | }) 29 | 30 | vanityNameServerResponse, err := client.VanityNameServers.EnableVanityNameServers(context.Background(), "1010", "example.com") 31 | 32 | assert.NoError(t, err) 33 | delegation := vanityNameServerResponse.Data[0].Name 34 | wantSingle := "ns1.example.com" 35 | assert.Equal(t, wantSingle, delegation) 36 | } 37 | 38 | func TestVanityNameServersService_DisableVanityNameServers(t *testing.T) { 39 | setupMockServer() 40 | defer teardownMockServer() 41 | 42 | mux.HandleFunc("/v2/1010/vanity/example.com", func(w http.ResponseWriter, r *http.Request) { 43 | httpResponse := httpResponseFixture(t, "/api/disableVanityNameServers/success.http") 44 | 45 | testMethod(t, r, "DELETE") 46 | testHeaders(t, r) 47 | 48 | w.WriteHeader(httpResponse.StatusCode) 49 | _, _ = io.Copy(w, httpResponse.Body) 50 | }) 51 | 52 | _, err := client.VanityNameServers.DisableVanityNameServers(context.Background(), "1010", "example.com") 53 | 54 | assert.NoError(t, err) 55 | } 56 | -------------------------------------------------------------------------------- /dnsimple/webhook/webhook_test.go: -------------------------------------------------------------------------------- 1 | package webhook 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestParseEvent_Generic(t *testing.T) { 10 | payload := `{"data": {"domain": {"id": 1, "name": "example.com", "state": "hosted", "token": "domain-token", "account_id": 1010, "auto_renew": false, "created_at": "2016-02-07T14:46:29.142Z", "expires_on": null, "updated_at": "2016-02-07T14:46:29.142Z", "unicode_name": "example.com", "private_whois": false, "registrant_id": null}}, "actor": {"id": "1", "entity": "user", "pretty": "example@example.com"}, "account": {"id": 1010, "display": "User", "identifier": "user"}, "name": "generic", "api_version": "v2", "request_identifier": "096bfc29-2bf0-40c6-991b-f03b1f8521f1"}` 11 | 12 | event, err := ParseEvent([]byte(payload)) 13 | 14 | assert.NoError(t, err) 15 | assert.Equal(t, "generic", event.Name) 16 | eventAccount := event.Account 17 | assert.Equal(t, "User", eventAccount.Display) 18 | _, ok := event.GetData().(*GenericEventData) 19 | assert.True(t, ok) 20 | } 21 | 22 | func TestParseEvent_Account(t *testing.T) { 23 | payload := getHTTPRequestBodyFromFixture(t, "/webhooks/account.update/example.http") 24 | 25 | event, err := ParseEvent(payload) 26 | 27 | assert.NoError(t, err) 28 | assert.Equal(t, "account.update", event.Name) 29 | eventAccount := event.Account 30 | assert.Equal(t, "Personal2", eventAccount.Display) 31 | _, ok := event.GetData().(*AccountEventData) 32 | assert.True(t, ok) 33 | } 34 | 35 | func TestParseEvent_Webhook(t *testing.T) { 36 | payload := `{"data": {"webhook": {"id": 25, "url": "https://webhook.test"}}, "name": "webhook.create", "actor": {"id": "1", "entity": "user", "pretty": "example@example.com"}, "account": {"id": 1, "display": "User", "identifier": "user"}, "api_version": "v2", "request_identifier": "d6362e1f-310b-4009-a29d-ce76c849d32c"}` 37 | 38 | event, err := ParseEvent([]byte(payload)) 39 | 40 | assert.NoError(t, err) 41 | assert.Equal(t, "webhook.create", event.Name) 42 | eventAccount := event.Account 43 | assert.Equal(t, "User", eventAccount.Display) 44 | _, ok := event.GetData().(*WebhookEventData) 45 | assert.True(t, ok) 46 | } 47 | -------------------------------------------------------------------------------- /dnsimple/zone_distributions.go: -------------------------------------------------------------------------------- 1 | package dnsimple 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | ) 7 | 8 | // ZoneDistribution is the result of the zone distribution check. 9 | type ZoneDistribution struct { 10 | Distributed bool `json:"distributed"` 11 | } 12 | 13 | // ZoneDistributionResponse represents a response from an API method that returns a ZoneDistribution struct. 14 | type ZoneDistributionResponse struct { 15 | Response 16 | Data *ZoneDistribution `json:"data"` 17 | } 18 | 19 | // CheckZoneDistribution checks if a zone is fully distributed across DNSimple nodes. 20 | // 21 | // See https://developer.dnsimple.com/v2/zones/#checkZoneDistribution 22 | func (s *ZonesService) CheckZoneDistribution(ctx context.Context, accountID string, zoneName string) (*ZoneDistributionResponse, error) { 23 | path := versioned(fmt.Sprintf("/%v/zones/%v/distribution", accountID, zoneName)) 24 | zoneDistributionResponse := &ZoneDistributionResponse{} 25 | 26 | resp, err := s.client.get(ctx, path, zoneDistributionResponse) 27 | if err != nil { 28 | return nil, err 29 | } 30 | 31 | zoneDistributionResponse.HTTPResponse = resp 32 | return zoneDistributionResponse, nil 33 | } 34 | 35 | // CheckZoneRecordDistribution checks if a zone is fully distributed across DNSimple nodes. 36 | // 37 | // See https://developer.dnsimple.com/v2/zones/#checkZoneRecordDistribution 38 | func (s *ZonesService) CheckZoneRecordDistribution(ctx context.Context, accountID string, zoneName string, recordID int64) (*ZoneDistributionResponse, error) { 39 | path := versioned(fmt.Sprintf("/%v/zones/%v/records/%v/distribution", accountID, zoneName, recordID)) 40 | zoneDistributionResponse := &ZoneDistributionResponse{} 41 | 42 | resp, err := s.client.get(ctx, path, zoneDistributionResponse) 43 | if err != nil { 44 | return nil, err 45 | } 46 | 47 | zoneDistributionResponse.HTTPResponse = resp 48 | return zoneDistributionResponse, nil 49 | } 50 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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":"dnsimple-professional","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]} 21 | -------------------------------------------------------------------------------- /fixtures.http/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":"2015-04-23T07:40:03Z","updated_at":"2015-04-23T07:40:03Z"}} 17 | -------------------------------------------------------------------------------- /fixtures.http/api/addCollaborator/invite-success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 201 Created 2 | Server: nginx 3 | Date: Fri, 07 Oct 2016 08:51:12 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: 1475833772 9 | ETag: W/"3e59e2eafbf1d4b626413a5703309b57" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: 9f27e164-2448-4d23-ad67-4ecedaec063e 12 | X-Runtime: 0.387144 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":101,"domain_id":1,"domain_name":"example.com","user_id":null,"user_email":"invited-user@example.com","invitation":true,"created_at":"2016-10-07T08:51:12Z","updated_at":"2016-10-07T08:51:12Z","accepted_at":null}} 21 | -------------------------------------------------------------------------------- /fixtures.http/api/addCollaborator/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 201 Created 2 | Server: nginx 3 | Date: Fri, 07 Oct 2016 08:53:41 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: 1475833772 9 | ETag: W/"d35fa3da40b4f6586503174563d71bfc" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: 42de3144-37c7-4329-88c4-fdc103cb150f 12 | X-Runtime: 0.156436 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":100,"domain_id":1,"domain_name":"example.com","user_id":999,"user_email":"existing-user@example.com","invitation":false,"created_at":"2016-10-07T08:53:41Z","updated_at":"2016-10-07T08:53:41Z","accepted_at":"2016-10-07T08:53:41Z"}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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"} -------------------------------------------------------------------------------- /fixtures.http/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"} -------------------------------------------------------------------------------- /fixtures.http/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}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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"}} 22 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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"}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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"}} 17 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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":"2015-04-23T07:40:03Z","updated_at":"2015-04-23T07:40:03Z"}} 17 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/api/deleteRegistrantChange/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 201 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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/api/dnsAnalytics/success.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": {"headers": ["zone_name", "date", "volume"], "rows": [["bar.com", "2023-12-08", 1200], ["bar.com", "2023-12-09", 1200], ["bar.com", "2024-01-07", 1200], ["bar.com", "2024-01-08", 1200], ["example.com", "2023-12-08", 1200], ["example.com", "2023-12-09", 1200], ["example.com", "2024-01-07", 1200], ["example.com", "2024-01-08", 1200], ["foo.com", "2023-12-08", 1200], ["foo.com", "2023-12-09", 1200], ["foo.com", "2024-01-07", 1200], ["foo.com", "2024-01-08", 1200]]}, "query": {"account_id": "1", "start_date": "2023-12-08", "end_date": "2024-01-08", "sort": "zone_name:asc,date:asc", "page": 0, "per_page": 100, "groupings": "zone_name,date"}, "pagination": {"current_page": 0, "per_page": 100, "total_entries": 93, "total_pages": 1}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/api/getCertificate/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: nginx 3 | Date: Thu, 18 Jun 2020 19:16:29 GMT 4 | Content-Type: application/json; charset=utf-8 5 | Connection: keep-alive 6 | X-RateLimit-Limit: 4800 7 | X-RateLimit-Remaining: 4797 8 | X-RateLimit-Reset: 1592510057 9 | ETag: W/"9ace4f536d7b618fd4b38efd3cea9d1f" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: 83905116-1333-4b07-ace4-d0db9e90c4fa 12 | X-Runtime: 0.012798 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,"domain_id":289333,"contact_id":2511,"name":"www","common_name":"www.bingo.pizza","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICmTCCAYECAQAwGjEYMBYGA1UEAwwPd3d3LmJpbmdvLnBpenphMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw4+KoZ9IDCK2o5qAQpi+Icu5kksmjQzx\n5o5g4B6XhRxhsfHlK/i3iU5hc8CONjyVv8j82835RNsiKrflnxGa9SH68vbQfcn4\nIpbMz9c+Eqv5h0Euqlc3A4DBzp0unEu5QAUhR6Xu1TZIWDPjhrBOGiszRlLQcp4F\nzy6fD6j5/d/ylpzTp5v54j+Ey31Bz86IaBPtSpHI+Qk87Hs8DVoWxZk/6RlAkyur\nXDGWnPu9n3RMfs9ag5anFhggLIhCNtVN4+0vpgPQ59pqwYo8TfdYzK7WSKeL7geu\nCqVE3bHAqU6dLtgHOZfTkLwGycUh4p9aawuc6fsXHHYDpIL8s3vAvwIDAQABoDow\nOAYJKoZIhvcNAQkOMSswKTAnBgNVHREEIDAeggtiaW5nby5waXp6YYIPd3d3LmJp\nbmdvLnBpenphMA0GCSqGSIb3DQEBCwUAA4IBAQBwOLKv+PO5hSJkgqS6wL/wRqLh\nQ1zbcHRHAjRjnpRz06cDvN3X3aPI+lpKSNFCI0A1oKJG7JNtgxX3Est66cuO8ESQ\nPIb6WWN7/xlVlBCe7ZkjAFgN6JurFdclwCp/NI5wBCwj1yb3Ar5QQMFIZOezIgTI\nAWkQSfCmgkB96d6QlDWgidYDDjcsXugQveOQRPlHr0TsElu47GakxZdJCFZU+WPM\nodQQf5SaqiIK2YaH1dWO//4KpTS9QoTy1+mmAa27apHcmz6X6+G5dvpHZ1qH14V0\nJoMWIK+39HRPq6mDo1UMVet/xFUUrG/H7/tFlYIDVbSpVlpVAFITd/eQkaW/\n-----END CERTIFICATE REQUEST-----\n","state":"issued","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2020-06-18T18:54:17Z","updated_at":"2020-06-18T19:10:14Z","expires_at":"2020-09-16T18:10:13Z","expires_on":"2020-09-16"}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/api/getDomainRestore/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,"state":"restored","created_at":"2016-12-09T19:46:45Z","updated_at":"2016-12-12T19:46:45Z"}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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","active":true,"created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}} 22 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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"}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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"}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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"}} 17 | -------------------------------------------------------------------------------- /fixtures.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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":"dnsimple-professional","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]} 21 | -------------------------------------------------------------------------------- /fixtures.http/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 | Connection: close 4 | X-RateLimit-Limit: 2400 5 | X-RateLimit-Remaining: 2392 6 | X-RateLimit-Reset: 1698136677 7 | Content-Type: application/json; charset=utf-8 8 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs 9 | Cache-Control: no-cache 10 | X-Request-Id: bdfbf3a7-d9dc-4018-9732-61502be989a3 11 | X-Runtime: 0.455303 12 | Transfer-Encoding: chunked 13 | 14 | {"message":"Invalid date format must be ISO8601 (YYYY-MM-DD)"} 15 | -------------------------------------------------------------------------------- /fixtures.http/api/listCharges/fail-403.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 403 Forbidden 2 | Date: Tue, 24 Oct 2023 09:49:29 GMT 3 | Connection: close 4 | X-RateLimit-Limit: 2400 5 | X-RateLimit-Remaining: 2398 6 | X-RateLimit-Reset: 1698143967 7 | Content-Type: application/json; charset=utf-8 8 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs 9 | Cache-Control: no-cache 10 | X-Request-Id: 5554e2d3-2652-4ca7-8c5e-92b4c35f28d6 11 | X-Runtime: 0.035309 12 | Transfer-Encoding: chunked 13 | 14 | {"message":"Permission Denied. Required Scope: billing:*:read"} 15 | -------------------------------------------------------------------------------- /fixtures.http/api/listCharges/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Date: Tue, 24 Oct 2023 09:52:55 GMT 3 | Connection: close 4 | X-RateLimit-Limit: 2400 5 | X-RateLimit-Remaining: 2397 6 | X-RateLimit-Reset: 1698143967 7 | Content-Type: application/json; charset=utf-8 8 | X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs 9 | Cache-Control: no-store, must-revalidate, private, max-age=0 10 | X-Request-Id: a57a87c8-626a-4361-9fb8-b55ca9be8e5d 11 | X-Runtime: 0.060526 12 | Transfer-Encoding: chunked 13 | 14 | {"data":[{"invoiced_at":"2023-08-17T05:53:36Z","total_amount":"14.50","balance_amount":"0.00","reference":"1-2","state":"collected","items":[{"description":"Register bubble-registered.com","amount":"14.50","product_id":1,"product_type":"domain-registration","product_reference":"bubble-registered.com"}]},{"invoiced_at":"2023-08-17T05:57:53Z","total_amount":"14.50","balance_amount":"0.00","reference":"2-2","state":"refunded","items":[{"description":"Register example.com","amount":"14.50","product_id":2,"product_type":"domain-registration","product_reference":"example.com"}]},{"invoiced_at":"2023-10-24T07:49:05Z","total_amount":"1099999.99","balance_amount":"0.00","reference":"4-2","state":"collected","items":[{"description":"Test Line Item 1","amount":"99999.99","product_id":null,"product_type":"manual","product_reference":null},{"description":"Test Line Item 2","amount":"1000000.00","product_id":null,"product_type":"manual","product_reference":null}]}],"pagination":{"current_page":1,"per_page":30,"total_entries":3,"total_pages":1}} 15 | -------------------------------------------------------------------------------- /fixtures.http/api/listCollaborators/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: nginx 3 | Date: Fri, 07 Oct 2016 08:58:05 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: 1475833772 9 | ETag: W/"6e597053b3cfbbfec6801fcdc2e98466" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: ccbbef00-d0a7-442f-9f40-80df8cea868d 12 | X-Runtime: 0.063426 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":100,"domain_id":1,"domain_name":"example.com","user_id":999,"user_email":"existing-user@example.com","invitation":false,"created_at":"2016-10-07T08:53:41Z","updated_at":"2016-10-07T08:53:41Z","accepted_at":"2016-10-07T08:53:41Z"},{"id":101,"domain_id":1,"domain_name":"example.com","user_id":null,"user_email":"invited-user@example.com","invitation":true,"created_at":"2016-10-07T08:51:12Z","updated_at":"2016-10-07T08:51:12Z","accepted_at":null}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/api/listEmailForwards/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: nginx 3 | Date: Thu, 04 Feb 2016 14:07:19 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: 3993 9 | X-RateLimit-Reset: 1454596043 10 | ETag: W/"3f10aae0cf0f0b81bdb4f58786ee1750" 11 | Cache-Control: max-age=0, private, must-revalidate 12 | X-Request-Id: 6e3aa9d0-cb95-4186-93b0-630da372de86 13 | X-Runtime: 0.026287 14 | Strict-Transport-Security: max-age=31536000 15 | 16 | {"data":[{"id":17702,"domain_id":228963,"from":".*@a-domain.com","to":"jane.smith@example.com","created_at":"2016-02-04T13:59:29Z","updated_at":"2016-02-04T13:59:29Z"},{"id":17703,"domain_id":228963,"from":"john@a-domain.com","to":"john@example.com","created_at":"2016-02-04T14:07:13Z","updated_at":"2016-02-04T14:07:13Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}} 17 | -------------------------------------------------------------------------------- /fixtures.http/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}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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}} -------------------------------------------------------------------------------- /fixtures.http/api/listServices/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: nginx 3 | Date: Sat, 10 Dec 2016 22:37:13 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: 1481413033 9 | ETag: W/"65425ab4559f111f28bc952f3b672d48" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: 9a5dadcb-8e90-4fe9-ad60-be13ba3d3970 12 | X-Runtime: 0.263229 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":"Service 1","sid":"service1","description":"First service example.","setup_description":null,"requires_setup":false,"default_subdomain":null,"created_at":"2014-02-14T19:15:19Z","updated_at":"2016-03-04T09:23:27Z","settings":[]},{"id":2,"name":"Service 2","sid":"service2","description":"Second 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 2 Account Username","append":".service2.com","description":"Your Service2 username is used to connect services to your account.","example":"username","password":false}]}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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"},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key"}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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"},{"id":2,"url":"https://another.test"}]} 17 | -------------------------------------------------------------------------------- /fixtures.http/api/listZoneRecords/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: nginx 3 | Date: Wed, 05 Oct 2016 09:27:02 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: 1475662531 9 | ETag: W/"4a6291c6424d22726fb7087cfdf99ab9" 10 | Cache-Control: max-age=0, private, must-revalidate 11 | X-Request-Id: 8a2279ac-709e-42ac-8964-95a5534acfb9 12 | X-Runtime: 0.271719 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,"zone_id":"example.com","parent_id":null,"name":"","content":"ns1.dnsimple.com admin.dnsimple.com 1458642070 86400 7200 604800 300","ttl":3600,"priority":null,"type":"SOA","regions":["global"],"system_record":true,"created_at":"2016-03-22T10:20:53Z","updated_at":"2016-10-05T09:26:38Z"},{"id":69061,"zone_id":"example.com","parent_id":null,"name":"","content":"ns1.dnsimple.com","ttl":3600,"priority":null,"type":"NS","regions":["global"],"system_record":true,"created_at":"2016-03-22T10:20:53Z","updated_at":"2016-03-22T10:20:53Z"},{"id":2,"zone_id":"example.com","parent_id":null,"name":"","content":"ns2.dnsimple.com","ttl":3600,"priority":null,"type":"NS","regions":["global"],"system_record":true,"created_at":"2016-03-22T10:20:53Z","updated_at":"2016-03-22T10:20:53Z"},{"id":3,"zone_id":"example.com","parent_id":null,"name":"","content":"ns3.dnsimple.com","ttl":3600,"priority":null,"type":"NS","regions":["global"],"system_record":true,"created_at":"2016-03-22T10:20:53Z","updated_at":"2016-03-22T10:20:53Z"},{"id":4,"zone_id":"example.com","parent_id":null,"name":"","content":"ns4.dnsimple.com","ttl":3600,"priority":null,"type":"NS","regions":["global"],"system_record":true,"created_at":"2016-03-22T10:20:53Z","updated_at":"2016-03-22T10:20:53Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":5,"total_pages":1}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/api/notfound-collaborator.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 404 Not Found 2 | Server: nginx 3 | Date: Mon, 21 Nov 2016 09:32:48 GMT 4 | Content-Type: application/json; charset=utf-8 5 | Connection: keep-alive 6 | Cache-Control: no-cache 7 | X-Request-Id: 3e76b10b-412c-42ef-87d1-f8ff327df997 8 | X-Runtime: 0.030250 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":"Membership `0` not found"} 16 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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"} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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}} -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/api/removeCollaborator/success.http: -------------------------------------------------------------------------------- 1 | HTTP/1.1 204 No Content 2 | Server: nginx 3 | Date: Fri, 07 Oct 2016 09:08:51 GMT 4 | Connection: keep-alive 5 | X-RateLimit-Limit: 2400 6 | X-RateLimit-Remaining: 2395 7 | X-RateLimit-Reset: 1475833773 8 | Cache-Control: no-cache 9 | X-Request-Id: 732cdd0a-9ae5-4853-93ef-3511652b687a 10 | X-Runtime: 0.098437 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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/api/restoreDomain/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":43,"domain_id":214,"state":"new","created_at":"2024-02-14T14:40:42Z","updated_at":"2024-02-14T14:40:42Z"}} 21 | -------------------------------------------------------------------------------- /fixtures.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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.http/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":"dnsimple-professional","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}} 16 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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":"dnsimple-professional","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}} 16 | -------------------------------------------------------------------------------- /fixtures.http/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: close 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.http/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: close 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.http/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 | X-Request-Id: 119842bf-d239-41a8-90ac-e8aa654ea64e 7 | Connect-Time: 1 8 | Content-Length: 766 9 | Total-Route-Time: 0 10 | Via: 1.1 vegur 11 | Connection: close 12 | 13 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "professional-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"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/account.user_invitation_revoke/example.http: -------------------------------------------------------------------------------- 1 | POST /170zjup1 HTTP/1.1 2 | Host: example.com 3 | Accept-Encoding: gzip 4 | X-Request-Id: ac676fe3-9009-4333-a1e2-06cbc0b78f11 5 | Content-Type: application/json 6 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 7 | Connect-Time: 1 8 | Total-Route-Time: 0 9 | Content-Length: 760 10 | Via: 1.1 vegur 11 | Connection: close 12 | 13 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "professional-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"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/account.user_invite/example.http: -------------------------------------------------------------------------------- 1 | POST /170zjup1 HTTP/1.1 2 | Host: example.com 3 | Accept-Encoding: gzip 4 | X-Request-Id: 238da298-7345-474a-b4a6-81e980bc1d20 5 | Content-Type: application/json 6 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 7 | Connect-Time: 2 8 | Total-Route-Time: 0 9 | Content-Length: 749 10 | Via: 1.1 vegur 11 | Connection: close 12 | 13 | {"data": {"account": {"id": 1111, "email": "xxxxx@xxxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2020-05-10T18:11:03Z", "plan_identifier": "professional-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"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/account.user_remove/example.http: -------------------------------------------------------------------------------- 1 | POST /170zjup1 HTTP/1.1 2 | Host: example.com 3 | Accept-Encoding: gzip 4 | X-Request-Id: 99bf95d9-7d0c-41dc-bd7b-f7363e474c7b 5 | Content-Type: application/json 6 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 7 | Content-Length: 588 8 | Connect-Time: 19 9 | Via: 1.1 vegur 10 | Total-Route-Time: 0 11 | Connection: close 12 | 13 | {"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": "professional-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"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/account_invitation.accept/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Content-Length: 765 4 | X-Request-Id: 1ab3909d-1cd5-4f18-84ca-9d3c3fa22e8e 5 | Total-Route-Time: 0 6 | Via: 1.1 vegur 7 | Connect-Time: 1 8 | Accept-Encoding: gzip 9 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf 10 | Content-Type: application/json 11 | Connection: close 12 | 13 | {"data": {"account": {"id": 1111, "email": "xxxxxx@xxxxx.xxx", "created_at": "2012-03-16T16:02:54Z", "updated_at": "2018-11-03T18:11:09Z", "plan_identifier": "dnsimple-professional"}, "account_invitation": {"id": 2222, "email": "xxxxxxxxxx@xxxxx.xxx", "token": "bc982970-a6bc-4ec5-bcc3-c55e486f9b75", "account_id": 1111, "created_at": "2018-11-05T12:34:49Z", "updated_at": "2018-11-05T12:45:44Z", "invitation_sent_at": "2018-11-05T12:34:49Z", "invitation_accepted_at": "2018-11-05T12:45:44Z"}}, "name": "account_invitation.accept", "actor": {"id": "2222", "entity": "user", "pretty": "xxxxxxxxxx@xxxxx.xxx"}, "account": {"id": 1111, "display": "xxxxxxxx", "identifier": "xxxxxxxx"}, "api_version": "v2", "request_identifier": "7da0784a-0884-487e-b01b-1832b7fb45c2"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/certificate.issue/example.http: -------------------------------------------------------------------------------- 1 | POST /1n4m8k61 HTTP/1.1 2 | Host: example.com 3 | Connect-Time: 1 4 | X-Request-Id: 60f249f5-9bb4-424f-8fea-ec0e2ee882b1 5 | Content-Type: application/json 6 | Accept-Encoding: gzip 7 | Via: 1.1 vegur 8 | Total-Route-Time: 0 9 | Content-Length: 1659 10 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 11 | Connection: close 12 | 13 | {"data": {"certificate": {"id": 101967, "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICmTCCAYECAQAwGjEYMBYGA1UEAwwPd3d3LmJpbmdvLnBpenphMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw4+KoZ9IDCK2o5qAQpi+Icu5kksmjQzx\n5o5g4B6XhRxhsfHlK/i3iU5hc8CONjyVv8j82835RNsiKrflnxGa9SH68vbQfcn4\nIpbMz9c+Eqv5h0Euqlc3A4DBzp0unEu5QAUhR6Xu1TZIWDPjhrBOGiszRlLQcp4F\nzy6fD6j5/d/ylpzTp5v54j+Ey31Bz86IaBPtSpHI+Qk87Hs8DVoWxZk/6RlAkyur\nXDGWnPu9n3RMfs9ag5anFhggLIhCNtVN4+0vpgPQ59pqwYo8TfdYzK7WSKeL7geu\nCqVE3bHAqU6dLtgHOZfTkLwGycUh4p9aawuc6fsXHHYDpIL8s3vAvwIDAQABoDow\nOAYJKoZIhvcNAQkOMSswKTAnBgNVHREEIDAeggtiaW5nby5waXp6YYIPd3d3LmJp\nbmdvLnBpenphMA0GCSqGSIb3DQEBCwUAA4IBAQBwOLKv+PO5hSJkgqS6wL/wRqLh\nQ1zbcHRHAjRjnpRz06cDvN3X3aPI+lpKSNFCI0A1oKJG7JNtgxX3Est66cuO8ESQ\nPIb6WWN7/xlVlBCe7ZkjAFgN6JurFdclwCp/NI5wBCwj1yb3Ar5QQMFIZOezIgTI\nAWkQSfCmgkB96d6QlDWgidYDDjcsXugQveOQRPlHr0TsElu47GakxZdJCFZU+WPM\nodQQf5SaqiIK2YaH1dWO//4KpTS9QoTy1+mmAa27apHcmz6X6+G5dvpHZ1qH14V0\nJoMWIK+39HRPq6mDo1UMVet/xFUUrG/H7/tFlYIDVbSpVlpVAFITd/eQkaW/\n-----END CERTIFICATE REQUEST-----\n", "name": "www", "state": "issued", "years": 1, "domain_id": 289333, "auto_renew": false, "contact_id": 2511, "created_at": "2020-06-18T18:54:17Z", "expires_at": "2020-09-16T18:10:13Z", "expires_on": "2020-09-16", "updated_at": "2020-06-18T19:10:14Z", "common_name": "www.bingo.pizza", "alternate_names": [], "authority_identifier": "letsencrypt"}}, "name": "certificate.issue", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 5623, "display": "DNSimple", "identifier": "dnsimple"}, "api_version": "v2", "request_identifier": "2092d585-bd6c-40ba-b0ac-bd7ebab8b4b1"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/certificate.remove_private_key/example.http: -------------------------------------------------------------------------------- 1 | POST /1n4m8k61 HTTP/1.1 2 | Host: example.com 3 | Connect-Time: 1 4 | X-Request-Id: 49b06941-f023-435a-a6a3-325d349ab986 5 | Content-Type: application/json 6 | Accept-Encoding: gzip 7 | Via: 1.1 vegur 8 | Total-Route-Time: 0 9 | Content-Length: 1675 10 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 11 | Connection: close 12 | 13 | {"data": {"certificate": {"id": 101972, "csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICmTCCAYECAQAwGjEYMBYGA1UEAwwPd3d3LmJpbmdvLnBpenphMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWImvp8rGULVobq+6dTpMPbxdePpIjki\nUJ5fTcpNfuRw/8EPU9UcQ5QaHToVyUhPtdv1QWtZbTVJpl0u9uvUviZEL0+NxBcR\nj4ymiPtyH6ZErYisUgIULaSEmkCz6YFf1X+fSDBcASvibHqkwhzN3ugVcKgqTHPm\nbbCpNv2EPOqkvwiqVPrjRmgqtjQmfO60K7+8aMZqyIjMslsDufGJ4sRaiiusRJUG\n1QzZqnlGp5Vrz5XdowHAQfLcUd+lPevk/lDkfmV6bxuoZyEKFAHVRFCM8Aw3nks4\nONrtWTdnOd5QoxwcOnbtl1S0bydQpulJjefy8sXQq/XUwsyAP6uLHwIDAQABoDow\nOAYJKoZIhvcNAQkOMSswKTAnBgNVHREEIDAeggtiaW5nby5waXp6YYIPd3d3LmJp\nbmdvLnBpenphMA0GCSqGSIb3DQEBCwUAA4IBAQBUPXgSgTO8hDjIvz8SKCE0EDbF\nEmgVqjynO2wvc8Dn9E3xp9GsYLNChUItUSzh0dnxn+XYBtia356bw5EaA3ZCbZIJ\nA/JyGavwNqIeBVSMsMCVXiM9NFunkWchid7bh1mS+W4/8gqEElIYRRIIOP7LEHq+\nxE7ZUH9qjKpiHKL/YTf2zVo4y6opjY4WnDxonQ2nMeJxfj8GdVskXYQoMxyVneRI\n0Of1gTZWvP1f1F9ddcjZDnb9VLdKcqrY395Zvy+FkNetd0xHRu2VBJDFbMnH8Gsr\nTd6BwijqU3kNM1j2zWvOhfO9tPbcl4BbVRg+/V2bq3jLCld3Bj38d1CJLz21\n-----END CERTIFICATE REQUEST-----\n", "name": "www", "state": "issued", "years": 1, "domain_id": 289333, "auto_renew": false, "contact_id": 2511, "created_at": "2020-06-18T19:56:20Z", "expires_at": "2020-09-16T19:10:05Z", "expires_on": "2020-09-16", "updated_at": "2020-06-18T20:41:05Z", "common_name": "www.bingo.pizza", "alternate_names": [], "authority_identifier": "letsencrypt"}}, "name": "certificate.remove_private_key", "actor": {"id": "109237", "entity": "user", "pretty": "xxxxxx.xxxxxxx@dnsimple.com"}, "account": {"id": 5623, "display": "DNSimple", "identifier": "dnsimple"}, "api_version": "v2", "request_identifier": "bdee91db-7339-49d1-a93c-104b46d72235"} 14 | -------------------------------------------------------------------------------- /fixtures.http/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: close 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.http/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: close 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.http/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: close 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 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/dnssec.create/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Connect-Time: 0 4 | X-Request-Id: 7c5f265a-3498-4433-acaa-181cd2db9028 5 | Via: 1.1 vegur 6 | Total-Route-Time: 0 7 | User-Agent: DNSimple-Webhook-Notifier/bf310d84dcc4ea2cd6befb18dd800be75e4bf623 8 | Accept-Encoding: gzip 9 | Content-Type: application/json 10 | Content-Length: 380 11 | Connection: close 12 | 13 | {"data": {"dnssec": {"enabled": true, "created_at": "2019-06-24T19:17:14Z", "updated_at": "2019-06-24T19:17:14Z"}}, "name": "dnssec.create", "actor": {"id": "88720", "entity": "user", "pretty": "xxxxxxxxxxxxxxxxx@xxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "1ea9b242-2570-41df-9db4-39f981ee2937"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/dnssec.delete/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Connect-Time: 0 4 | X-Request-Id: 528ebdd6-7d20-4e50-9927-9dd1cd833d4d 5 | Total-Route-Time: 0 6 | User-Agent: DNSimple-Webhook-Notifier/bf310d84dcc4ea2cd6befb18dd800be75e4bf623 7 | Accept-Encoding: gzip 8 | Via: 1.1 vegur 9 | Content-Type: application/json 10 | Content-Length: 380 11 | Connection: close 12 | 13 | {"data": {"dnssec": {"enabled": true, "created_at": "2019-01-31T17:31:05Z", "updated_at": "2019-01-31T17:31:05Z"}}, "name": "dnssec.delete", "actor": {"id": "88720", "entity": "user", "pretty": "xxxxxxxxxxxxxxxxx@xxxxxx.xxx"}, "account": {"id": 111, "display": "Personal", "identifier": "xxxxxx"}, "api_version": "v2", "request_identifier": "94f8ac92-9b40-4ba7-a83d-311cda8daba8"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/dnssec.rotation_complete/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Content-Type: application/json 4 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf 5 | Total-Route-Time: 0 6 | Connect-Time: 0 7 | Via: 1.1 vegur 8 | X-Request-Id: 820e9b9f-3312-4afc-b384-898eefa87e88 9 | Content-Length: 662 10 | Accept-Encoding: gzip 11 | Connection: close 12 | 13 | {"data": {"dnssec": {"enabled": true, "created_at": "2017-07-19T18:52:55Z", "updated_at": "2017-07-19T18:52:55Z"}, "delegation_signer_record": {"id": 4662, "digest": "EF1D343203E03F1C98120646971F7B96806B759B66622F0A224551DA1A1EFC9A", "keytag": "51364", "algorithm": "8", "domain_id": 252645, "created_at": "2018-07-02T22:00:00Z", "updated_at": "2018-07-02T22:00:00Z", "digest_type": "2"}}, "name": "dnssec.rotation_complete", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "efae385b-2caa-4861-848a-55d0c5a72e26"} 14 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/dnssec.rotation_start/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Content-Type: application/json 4 | User-Agent: DNSimple-Webhook-Notifier/f152781ec87b328bf9edcaa760f0e5342bdd15cf 5 | Total-Route-Time: 6006 6 | Connect-Time: 1 7 | Via: 1.1 vegur 8 | X-Request-Id: 02449375-8d36-45ba-9e73-cdb7615388f0 9 | Content-Length: 658 10 | Accept-Encoding: gzip 11 | Connection: close 12 | 13 | {"data": {"dnssec": {"enabled": true, "created_at": "2017-02-06T20:15:05Z", "updated_at": "2017-02-06T20:15:05Z"}, "delegation_signer_record": {"id": 6037, "digest": "BD9D898E92D0F668E6BDBC5E79D52E5C3BAB12823A6EEE8C8B6DC633007DFABC", "keytag": "27472", "algorithm": "8", "domain_id": 41557, "created_at": "2018-10-09T02:00:02Z", "updated_at": "2018-10-09T02:00:02Z", "digest_type": "2"}}, "name": "dnssec.rotation_start", "actor": {"id": "system", "entity": "dnsimple", "pretty": "support@dnsimple.com"}, "account": {"id": 123, "display": "Personal", "identifier": "foobar"}, "api_version": "v2", "request_identifier": "b2ddc716-f621-418c-a6a9-6a2c2d7acd27"} 14 | -------------------------------------------------------------------------------- /fixtures.http/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"} -------------------------------------------------------------------------------- /fixtures.http/webhooks/domain.auto_renewal_enable/example.http: -------------------------------------------------------------------------------- 1 | POST / HTTP/1.1 2 | Host: example.com 3 | Accept-Encoding: gzip 4 | Content-Length: 679 5 | Content-Type: application/json 6 | User-Agent: DNSimple-Webhook-Notifier/8fd98a84516b72d5b863b27f93fcbaef61f06c03 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.http/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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/webhooks/domain.registrant_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: 1129 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-04T21:04:17Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2716}, "registrant": {"id": 2716, "fax": "", "city": "New York", "label": "new_contact", "phone": "+1 202-555-0191", "country": "US", "address1": "Test St", "address2": "", "job_title": "", "last_name": "Corp 2", "account_id": 1385, "created_at": "2020-06-04T21:03:47.226Z", "first_name": "DNSimple", "updated_at": "2020-06-04T21:03:47.226Z", "postal_code": "14801", "email_address": "support@dnsimple.com", "state_province": "NY", "organization_name": ""}}, "name": "domain.registrant_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": "9ef5f6f7-fa00-4d31-a1dc-5f80ae783d93"} 10 | 11 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/domain.registrant_change/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: 1139 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-04T21:04:17Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2716}, "registrant": {"id": 2716, "fax": "", "city": "New York", "label": "new_contact", "phone": "+1 202-555-0191", "country": "US", "address1": "Test St", "address2": "", "job_title": "", "last_name": "Corp 2", "account_id": 1385, "created_at": "2020-06-04T21:03:47.226Z", "first_name": "DNSimple", "updated_at": "2020-06-04T21:03:47.226Z", "postal_code": "14801", "email_address": "support@dnsimple.com", "state_province": "NY", "organization_name": ""}}, "name": "domain.registrant_change:cancelled", "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": "9ef5f6f7-fa00-4d31-a1dc-5f80ae783d93"} 10 | -------------------------------------------------------------------------------- /fixtures.http/webhooks/domain.registrant_change/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: 1137 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-04T21:04:17Z", "unicode_name": "example-alpha.com", "private_whois": false, "registrant_id": 2716}, "registrant": {"id": 2716, "fax": "", "city": "New York", "label": "new_contact", "phone": "+1 202-555-0191", "country": "US", "address1": "Test St", "address2": "", "job_title": "", "last_name": "Corp 2", "account_id": 1385, "created_at": "2020-06-04T21:03:47.226Z", "first_name": "DNSimple", "updated_at": "2020-06-04T21:03:47.226Z", "postal_code": "14801", "email_address": "support@dnsimple.com", "state_province": "NY", "organization_name": ""}}, "name": "domain.registrant_change:started", "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": "9ef5f6f7-fa00-4d31-a1dc-5f80ae783d93"} 10 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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.http/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.http/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.http/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: 460 10 | Total-Route-Time: 0 11 | Connection: close 12 | 13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": "example@example.zone", "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:39Z"}}, "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.http/webhooks/email_forward.delete/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Content-Length: 455 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: close 12 | 13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": ".*@example.zone", "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:53Z"}}, "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.http/webhooks/email_forward.update/example.http: -------------------------------------------------------------------------------- 1 | POST /1djlwbe1 HTTP/1.1 2 | Host: example.com 3 | Content-Length: 455 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: close 12 | 13 | {"data": {"email_forward": {"id": 30187, "to": "example@example.com", "from": ".*@example.zone", "domain_id": 415995, "created_at": "2018-11-07T17:20:39Z", "updated_at": "2018-11-07T17:20:53Z"}}, "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.http/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: close 12 | 13 | {"data": {"subscription": {"id": 11111, "state": "subscribed", "plan_name": "Professional", "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.http/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: close 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.http/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: close 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.http/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 | -------------------------------------------------------------------------------- /fixtures.http/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.http/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.http/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"} -------------------------------------------------------------------------------- /fixtures.http/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: close 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.http/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: close 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.http/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: close 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.http/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: close 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.http/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: close 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 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/dnsimple/dnsimple-go/v5 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.24.1 6 | 7 | require ( 8 | github.com/google/go-querystring v1.1.0 9 | github.com/shopspring/decimal v1.4.0 10 | github.com/stretchr/testify v1.10.0 11 | golang.org/x/oauth2 v0.30.0 12 | ) 13 | 14 | require ( 15 | github.com/davecgh/go-spew v1.1.1 // indirect 16 | github.com/pmezard/go-difflib v1.0.0 // indirect 17 | gopkg.in/yaml.v3 v3.0.1 // indirect 18 | ) 19 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 2 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 3 | github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= 4 | github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 5 | github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= 6 | github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= 7 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 8 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 9 | github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= 10 | github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= 11 | github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= 12 | github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 13 | golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= 14 | golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= 15 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 16 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= 17 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 18 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 19 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 20 | --------------------------------------------------------------------------------