> ## Documentation index
> Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
> Ask it with GET https://docs.rxresu.me/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Set the custom domain

> Sets the account's custom domain, replacing any previous one, and returns the DNS records to add: a TXT record that proves ownership, and a CNAME (or, for a root domain, addresses) pointing at this server. Requires authentication.

`PUT /custom-domain`

## OpenAPI

````yaml spec.json put /custom-domain
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.7
  description: "Reactive Resume API. Mutations do not support Idempotency-Key. Do
    not automatically retry POST, PUT, PATCH or DELETE requests after a timeout:
    first read the resource to determine whether the operation succeeded.
    Existing enum values and response shapes are retained for compatibility."
  license:
    name: MIT
    url: https://github.com/reactive-resume/reactive-resume/blob/main/LICENSE
  contact:
    name: Amruth Pillai
    email: amruth@rxresu.me
    url: https://amruthpillai.com
servers:
  - url: https://rxresu.me/api/openapi
security:
  - apiKey: []
  - bearerAuth: []
  - cookieAuth: []
paths:
  /custom-domain:
    put:
      operationId: setCustomDomain
      summary: Set the custom domain
      description: "Sets the account's custom domain, replacing any previous one, and
        returns the DNS records to add: a TXT record that proves ownership, and
        a CNAME (or, for a root domain, addresses) pointing at this server.
        Requires authentication."
      tags:
        - Custom Domain
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                hostname:
                  type: string
                  maxLength: 260
                  description: A domain such as resume.example.com.
              required:
                - hostname
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  hostname:
                    type: string
                    description: The domain, as DNS knows it (lowercase ASCII).
                  target:
                    type: string
                    description: The host the domain's CNAME record points at.
                  txtName:
                    type: string
                    description: Where the TXT record that proves ownership goes.
                  txtValue:
                    type: string
                    description: The TXT record's value.
                  records:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          enum:
                            - A
                            - AAAA
                            - CNAME
                            - TXT
                          type: string
                        name:
                          type: string
                          description: The record's full host name.
                        value:
                          type: string
                      required:
                        - type
                        - name
                        - value
                    description: "Every record to add: the TXT record, and a CNAME to the target, or
                      for a root domain A and AAAA records with its addresses."
                  verified:
                    type: boolean
                    description: Whether DNS proved ownership and the domain opens the primary
                      resume.
                  lastCheckedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        x-native-type: date
                      - type: "null"
                    description: When DNS was last checked.
                required:
                  - hostname
                  - target
                  - txtName
                  - txtValue
                  - records
                  - verified
                  - lastCheckedAt
        "400":
          description: "400"
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: INVALID_DOMAIN
                      status:
                        const: 400
                      message:
                        type: string
                        default: Enter a domain such as resume.example.com.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        "412":
          description: "412"
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: PRECONDITION_FAILED
                      status:
                        const: 412
                      message:
                        type: string
                        default: Custom domains aren't set up on this server.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        default:
          description: Structured API error. See status and code; do not branch on message
            text.
          content:
            application/json:
              schema:
                type: object
                required:
                  - defined
                  - code
                  - status
                  - message
                properties:
                  defined:
                    type: boolean
                  code:
                    type: string
                  status:
                    type: integer
                  message:
                    type: string
                  data: {}
      security:
        - apiKey: []
        - bearerAuth: []
        - cookieAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >-
            curl --request PUT "https://rxresu.me/api/openapi/custom-domain"
            --header "x-api-key: <api-key>" --header "Content-Type:
            application/json" --data '{
              "hostname": "<string>"
            }'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: An OAuth access token issued by this instance for its API/MCP resource.
    cookieAuth:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: Browser session (secure deployments use the __Secure- prefix).
        Cookie requests must originate from this instance.
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: The API key to authenticate requests.
````
