> ## Documentation Index
> Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update RRset

> Create/update RRset.



## OpenAPI

````yaml /api-reference/services_docs_mintlify/dns_api.yaml put /dns/v2/zones/{zoneName}/{rrsetName}/{rrsetType}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – DNS API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: 1282e760bff2
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Analyze
  - name: Clients
  - name: DNSSEC
  - name: Locations
  - name: Lookup
  - name: Metrics
  - name: NetworkMappings
  - name: Pickers
  - name: RRsets
  - name: Zones
paths:
  /dns/v2/zones/{zoneName}/{rrsetName}/{rrsetType}:
    put:
      tags:
        - RRsets
      summary: Update RRset
      description: Create/update RRset.
      operationId: UpdateRRSet
      parameters:
        - name: zoneName
          in: path
          required: true
          schema:
            type: string
        - name: rrsetName
          in: path
          required: true
          schema:
            type: string
        - name: rrsetType
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputRRSet'
        required: false
      responses:
        '200':
          description: OutputRRSet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutputRRSet'
        '400':
          description: Error message response
          headers:
            error:
              schema:
                type: string
          content: {}
components:
  schemas:
    InputRRSet:
      required:
        - resource_records
      type: object
      properties:
        meta:
          type: object
          additionalProperties:
            type: object
          description: Meta information for rrset
          example: {}
        pickers:
          type: array
          description: Set of pickers
          items:
            $ref: '#/components/schemas/OutputFilter'
        resource_records:
          type: array
          description: List of resource record from rrset
          items:
            $ref: '#/components/schemas/InputResourceRecord'
        ttl:
          type: integer
          format: uint32
    OutputRRSet:
      required:
        - name
        - resource_records
        - type
      type: object
      properties:
        filter_set_id:
          type: integer
          format: uint64
        meta:
          type: object
          additionalProperties:
            type: object
          description: >-
            Meta information for rrset. Map with string key and any valid json
            as value, with valid keys

            1. `failover` (object, beta feature, might be changed in the future)
            can have fields

            1.1. `protocol` (string, required, HTTP, TCP, UDP, ICMP)

            1.2. `port` (int, required, 1-65535)

            1.3. `frequency` (int, required, in seconds 10-3600)

            1.4. `timeout` (int, required, in seconds 1-10),

            1.5. `method` (string, only for protocol=HTTP)

            1.6. `command` (string, bytes to be sent only for protocol=TCP/UDP)

            1.7. `url` (string, only for protocol=HTTP)

            1.8. `tls` (bool, only for protocol=HTTP)

            1.9. `regexp` (string regex to match, only for non-ICMP)

            1.10. `http_status_code` (int, only for protocol=HTTP)

            1.11. `host` (string, only for protocol=HTTP)

            2. `geodns_link` (string) - name of the geodns link to use, if
            previously set, must re-send when updating or

            CDN integration will be removed for this RRSet
          example: {}
        name:
          type: string
          example: sub.example.com
        pickers:
          type: array
          description: Set of pickers
          items:
            $ref: '#/components/schemas/OutputFilter'
        resource_records:
          type: array
          description: List of resource record from rrset
          items:
            $ref: '#/components/schemas/OutputResourceRecord'
        ttl:
          type: integer
          format: uint32
        type:
          type: string
          description: RRSet type
          enum:
            - A
            - AAAA
            - NS
            - CNAME
            - MX
            - TXT
            - SRV
            - SOA
            - PTR
            - SVCB
            - HTTPS
            - CAA
            - DS
        updated_at:
          $ref: '#/components/schemas/Timestamp'
        warning:
          type: string
          description: >-
            Warning about some possible side effects without strictly
            disallowing operations on rrset

            readonly

            Deprecated: use Warnings instead
        warnings:
          type: array
          description: >-
            Warning about some possible side effects without strictly
            disallowing operations on rrset

            readonly
          items:
            $ref: '#/components/schemas/Warning'
    OutputFilter:
      required:
        - type
      type: object
      properties:
        limit:
          type: integer
          description: >-
            Limits the number of records returned by the filter

            Can be a positive value for a specific limit. Use zero or leave it
            blank to indicate no limits.
          format: int64
        strict:
          type: boolean
          description: >-
            if strict=false, then the filter will return all records if no
            records match the filter
        type:
          type: string
          description: Filter type
          enum:
            - geodns
            - asn
            - country
            - continent
            - region
            - ip
            - geodistance
            - weighted_shuffle
            - default
            - first_n
    InputResourceRecord:
      required:
        - content
      type: object
      properties:
        content:
          type: array
          description: >-
            Content of resource record

            The exact length of the array depends on the type of rrset,

            each individual record parameter must be a separate element of the
            array. For example

            SRV-record: `[100, 1, 5061, "example.com"]`

            CNAME-record: `[ "the.target.domain" ]`

            A-record: `[ "1.2.3.4", "5.6.7.8" ]`

            AAAA-record: `[ "2001:db8::1", "2001:db8::2" ]`

            MX-record: `[ "mail1.example.com", "mail2.example.com" ]`

            SVCB/HTTPS-record: `[ 1, ".", ["alpn", "h3", "h2"], [ "port", 1443
            ], [ "ipv4hint", "10.0.0.1" ], [ "ech",
            "AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA"
            ] ]`
          example:
            - 100
            - 1
            - 5061
            - example.com
          items:
            type: object
        enabled:
          type: boolean
          default: true
        meta:
          type: object
          additionalProperties:
            type: object
          description: |-
            This meta will be used to decide which resource record should pass
            through filters from the filter set
          example:
            asn:
              - 17544
              - 17812
            continents:
              - europe
              - asia
            countries:
              - us
              - gb
              - lu
            ip:
              - 192.168.15.150/25
              - 2003:de:2016::/48
            weight: 30
      description: 'nolint: lll'
    OutputResourceRecord:
      required:
        - content
      type: object
      properties:
        content:
          type: array
          description: >-
            Content of resource record

            The exact length of the array depends on the type of rrset,

            each individual record parameter must be a separate element of the
            array. For example

            SRV-record: `[100, 1, 5061, "example.com"]`

            CNAME-record: `[ "the.target.domain" ]`

            A-record: `[ "1.2.3.4", "5.6.7.8" ]`

            AAAA-record: `[ "2001:db8::1", "2001:db8::2" ]`

            MX-record: `[ "mail1.example.com", "mail2.example.com" ]`

            SVCB/HTTPS-record: `[ 1, ".", ["alpn", "h3", "h2"], [ "port", 1443
            ], [ "ipv4hint", "10.0.0.1" ], [ "ech",
            "AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA"
            ] ]`
          example:
            - 100
            - 1
            - 5061
            - example.com
          items:
            type: object
        enabled:
          type: boolean
          default: true
        id:
          type: integer
          format: uint64
          example: 42
        meta:
          type: object
          additionalProperties:
            type: object
          description: >-
            Meta information for record

            Map with string key and any valid json as value, with valid keys

            1. `asn` (array of int)

            2. `continents` (array of string)

            3. `countries` (array of string)

            4. `latlong` (array of float64, latitude and longitude)

            5. `backup` (bool)

            6. `notes` (string)

            7. `weight` (float)

            8. `ip` (string)

            9. `default` (bool)


            Some keys are reserved for balancing, @see
            https://api.gcore.com/dns/v2/info/meta


            This meta will be used to decide which resource record should pass

            through filters from the filter set
          example:
            continents:
              - europe
              - asia
            countries:
              - us
              - gb
              - lu
            ip:
              - 192.168.15.150/25
              - 2003:de:2016::/48
    Timestamp:
      type: string
      description: Timestamp marshals/unmarshals date and time as timestamp in json
      format: date-time
    Warning:
      type: object
      properties:
        key:
          type: string
        message:
          type: string
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````