From e5ec07f42d2ff54f2294baac726f1d932218762d Mon Sep 17 00:00:00 2001 From: Dallas Read Date: Tue, 17 Dec 2024 11:06:46 -0400 Subject: [PATCH 1/3] Replace collaborators article with deprecation message --- content/v2/domains/collaborators.markdown | 135 +--------------------- 1 file changed, 3 insertions(+), 132 deletions(-) diff --git a/content/v2/domains/collaborators.markdown b/content/v2/domains/collaborators.markdown index c5ae3148..2901b3e4 100644 --- a/content/v2/domains/collaborators.markdown +++ b/content/v2/domains/collaborators.markdown @@ -5,135 +5,6 @@ excerpt: This page documents the DNSimple collaborators API v2. # Collaborators API -* TOC -{:toc} - -## List collaborators {#listDomainCollaborators} - - GET /:account/domains/:domain/collaborators - -List collaborators for the domain in the account. - -### Parameters - -Name | Type | Description ------|------|------------ -`:account` | `integer` | The account id -`:domain` | `string`, `integer` | The domain name or id - -### Example - -List all collaborators for the domain `example.com` in the account `1010`: - - curl -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - https://api.dnsimple.com/v2/1010/domains/example.com/collaborators - -### Response - -Responds with HTTP 200. - -~~~json -<%= pretty_print_fixture("/api/listCollaborators/success.http") %> -~~~ - -### Errors - -Responds with [HTTP 401](/v2#unauthorized) in case of case of authentication issues. - - -## Add a collaborator {#addDomainCollaborator} - -At the time of the add, a collaborator may or may not have a DNSimple account. - -In case the collaborator doesn't have a DNSimple account, the system will invite her/him to register to DNSimple first and then to accept the collaboration invitation. - -In the other case, she/he is automatically added to the domain as collaborator. She/he can decide to reject the invitation later. - - POST /:account/domains/:domain/collaborators - -### Parameters - -Name | Type | Description ------|------|------------ -`:account` | `integer` | The account id -`:domain` | `string`, `integer` | The domain name or id - -### Example - -Add a collaborator for the domain `example.com` in the account `1010`: - - curl -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -H 'Content-Type: application/json' \ - -X POST \ - -d '' \ - https://api.dnsimple.com/v2/1010/domains/example.com/collaborators - -### Input - -Name | Type | Description ------|------|------------ -`email` | `string` | **Required**. - -##### Example - -~~~json -{ - "email": "existing-user@example.com" -} -~~~ - -### Response - -When the collaborator already has a DNSimple account: - -~~~json -<%= pretty_print_fixture("/api/addCollaborator/success.http") %> -~~~ - -When the collaborator doesn't have a DNSimple account: - -~~~json -<%= pretty_print_fixture("/api/addCollaborator/invite-success.http") %> -~~~ - -Responds with HTTP 201 on success. - -### Errors - -Responds with [HTTP 400](/v2#bad-request) if the collaborator cannot be added. - -Responds with [HTTP 401](/v2#unauthorized) in case of case of authentication issues. - - -## Remove a collaborator {#removeDomainCollaborator} - - DELETE /:account/domains/:domain/collaborators/:collaborator - -### Parameters - -Name | Type | Description ------|------|------------ -`:account` | `integer` | The account id -`:domain` | `string`, `integer` | The domain name or id -`:collaborator` | `integer` | The collaborator id - -### Example - -Remove a collaborator `100` from the domain `example.com` in the account `1010`: - - curl -H 'Authorization: Bearer ' \ - -H 'Accept: application/json' \ - -X DELETE \ - https://api.dnsimple.com/v2/1010/domains/example.com/collaborators/100 - -### Response - -Responds with HTTP 204 on success. - -### Errors - -Responds with [HTTP 400](/v2#bad-request) if the collaborator cannot be removed - -Responds with [HTTP 401](/v2#unauthorized) in case of case of authentication issues. \ No newline at end of file + +All domain collaborator endpoints have been deprecated in favor of our [Domain Access Control](/articles/domain-access-control) feature as of December 31, 2024. + From 46e9ef80ebbb4da1dba493cc5acf3f8c68100880 Mon Sep 17 00:00:00 2001 From: Dallas Read Date: Tue, 17 Dec 2024 11:57:03 -0400 Subject: [PATCH 2/3] Update openapi.yml --- content/v2/openapi.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/content/v2/openapi.yml b/content/v2/openapi.yml index 1055291a..9573fd74 100644 --- a/content/v2/openapi.yml +++ b/content/v2/openapi.yml @@ -220,7 +220,11 @@ paths: summary: Delete a domain '/{account}/domains/{domain}/collaborators': get: - description: Lists collaborators for the domain. + deprecated: true + description: |- + Deprecated in favor of Domain Access Control. + + Lists collaborators for the domain. parameters: - $ref: '#/components/parameters/Account' - $ref: '#/components/parameters/Domain' @@ -247,7 +251,10 @@ paths: $ref: '#/components/responses/404' summary: List collaborators post: + deprecated: true description: |- + Deprecated in favor of Domain Access Control. + Adds a collaborator to the domain. At the time of the add, a collaborator may or may not have a DNSimple account. In case the collaborator doesn't have a DNSimple account, the system will invite them to register to DNSimple first and then to accept the collaboration invitation. In the other case, they are automatically added to the domain as collaborator. They can decide to reject the invitation later. @@ -2209,7 +2216,11 @@ paths: summary: Start registrant change '/{account}/domains/{domain}/collaborators/{collaborator}': delete: - description: Removes a collaborator from the domain. + deprecated: true + description: |- + Deprecated in favor of Domain Access Control. + + Removes a collaborator from the domain. parameters: - $ref: '#/components/parameters/Account' - $ref: '#/components/parameters/Domain' From 82d169bb50bbecccd9cc9475469508686722bd35 Mon Sep 17 00:00:00 2001 From: Dallas Read Date: Tue, 17 Dec 2024 12:01:04 -0400 Subject: [PATCH 3/3] Remove word --- content/getting-started.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started.markdown b/content/getting-started.markdown index 423e0da8..aa1d04d5 100644 --- a/content/getting-started.markdown +++ b/content/getting-started.markdown @@ -27,7 +27,7 @@ If you are using a user access token, you will have the same level of access as ### Domains and Zones -Accounts hold 0 or more domains. Each domain represents a single domain name as well as details about the domain name, such as whether it is registered with DNSimple or just hosted. For domains that are registered, the domain includes details about its registrant, whois privacy status, expiration date and more. Domains may have collections of other entities associated with them, such as SSL certificates, email forwards, collaborators, etc. +Accounts hold 0 or more domains. Each domain represents a single domain name as well as details about the domain name, such as whether it is registered with DNSimple or just hosted. For domains that are registered, the domain includes details about its registrant, whois privacy status, expiration date and more. Domains may have collections of other entities associated with them, such as SSL certificates, email forwards, etc. Zones represent the DNS zone for a domain. Each domain MUST have a zone, however zones may also exist without a domain (in the case of a reverse zone, which is used to provide reverse DNS). Zones have 1 or more records. All zones will have a combination of system records, which are records that we automatically create, such as SOA and NS records, as well as custom records, which are records created by users. If you'd like to read more about DNS zones and the records we support, visit the [DNS section](https://support.dnsimple.com/categories/dns/) of the DNSimple support site.