# Purchase DNS Shield

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v2/dns-shield/purchase:
    post:
      summary: Purchase DNS Shield
      deprecated: false
      description: >
        Purchase a Lifetime Deal (LTD) DNS Shield plan with a one-time payment.
        LTD plans provide DNS Shield protection for a fixed number of domains
        without recurring monthly charges.


        DNS Shield protects your domains by managing DNS records and preventing
        unauthorized changes.


        ## Plans


        | Plan | Price | Max Domains | Type |

        |------|-------|-------------|------|

        | Starter | $299 | 30 | LTD (One-time) |

        | Growth | $999 | 100 | LTD (One-time) |

        | Pro | $2,999 | 500 | LTD (One-time) |

        | Monthly | $3/domain/month | Unlimited | Subscription |
      tags:
        - dns shield
      parameters:
        - name: x-auth-zapmail
          in: header
          description: ''
          required: true
          example: ''
          schema:
            type: string
        - name: x-workspace-key
          in: header
          description: ''
          required: false
          example: ''
          schema:
            type: string
        - name: x-service-provider
          in: header
          description: ''
          required: true
          example: ''
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
              x-apidog-orders: []
            examples:
              '1':
                value:
                  planType: LTD
                  planName: starter
                summary: Purchase LTD Plan
              '2':
                value:
                  planType: MONTHLY
                  quantity: 3
                  domainNames:
                    - example1.com
                    - example2.com
                    - example3.com
                summary: Purchase Monthly for Domains
              '3':
                value:
                  planType: EXISTING
                  domainIds:
                    - uuid-1
                    - uuid-2
                    - uuid-3
                summary: Add DNS Shield to Existing Domains
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      checkoutUrl:
                        type: string
                      checkoutSession:
                        type: boolean
                      walletUsed:
                        type: boolean
                    required:
                      - checkoutUrl
                      - checkoutSession
                      - walletUsed
                    x-apidog-orders:
                      - checkoutUrl
                      - checkoutSession
                      - walletUsed
                required:
                  - status
                  - message
                  - data
                x-apidog-orders:
                  - status
                  - message
                  - data
              example:
                status: 200
                message: Payment link
                data:
                  checkoutUrl: https://invoice.stripe.com/i/acct_xxxx
                  checkoutSession: false
                  walletUsed: true
          headers: {}
          x-apidog-name: Success
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      errorId:
                        type: string
                    required:
                      - errorId
                    x-apidog-orders:
                      - errorId
                required:
                  - status
                  - message
                  - data
                x-apidog-orders:
                  - status
                  - message
                  - data
              example:
                status: 400
                message: No matching domains found
                data:
                  errorId: unique-error-id
          headers: {}
          x-apidog-name: Bad Request
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      errorId:
                        type: string
                    required:
                      - errorId
                    x-apidog-orders:
                      - errorId
                required:
                  - status
                  - message
                  - data
                x-apidog-orders:
                  - status
                  - message
                  - data
              example:
                status: 401
                message: Invalid API key
                data:
                  errorId: unique-error-id
          headers: {}
          x-apidog-name: Unauthorized
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      errorId:
                        type: string
                    required:
                      - errorId
                    x-apidog-orders:
                      - errorId
                required:
                  - status
                  - message
                  - data
                x-apidog-orders:
                  - status
                  - message
                  - data
              example:
                status: 500
                message: Internal server error
                data:
                  errorId: unique-error-id
          headers: {}
          x-apidog-name: Internal Server Error
      security: []
      x-apidog-folder: dns shield
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/797058/apis/api-25782088-run
components:
  schemas: {}
  securitySchemes: {}
servers:
  - url: https://api.zapmail.ai/api
    description: Prod Env
security: []

```
