Skip to main content

Delete a Switchover Endpoint

DELETE 

/switchover/v1/switchover-endpoints/:id

Early Access Request Access To Switchover API (Kafka Disaster Recovery)

Make a request to delete a switchover endpoint.

Request​

Responses​

The switchover endpoint deletion has been accepted; it transitions to DEPROVISIONING while it is removed asynchronously.

OpenAPI definition (YAML)
paths:
  /switchover/v1/switchover-endpoints/{id}:
    delete:
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Switchover API (Kafka Disaster Recovery)
      operationId: deleteSwitchoverV1SwitchoverEndpoint
      description: '[![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        [![Request Access To Switchover API (Kafka Disaster Recovery)](https://img.shields.io/badge/-Request%20Access%20To%20Switchover%20API%20%28Kafka%20Disaster%20Recovery%29-%23bc8540)](mailto:ccloud-api-access+switchover-v1-early-access@confluent.io?subject=Request%20to%20join%20switchover/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20switchover/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)


        Make a request to delete a switchover endpoint.'
      parameters:
      - name: environment
        in: query
        required: true
        schema:
          description: Filter a collection by a string search
          type: string
          title: SearchFilter
        example: env-00000
        description: 'Scope the operation to the environment with this ID. The bare-ID form of `environment_crn`;

          it is the standard Confluent collection filter, passed as the `?environment=` query parameter.

          '
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The unique identifier for the switchover endpoint.
      tags:
      - Switchover Endpoints (switchover/v1)
      security:
      - cloud-api-key: []
      - global-api-key: []
      responses:
        '202':
          description: 'The switchover endpoint deletion has been accepted; it transitions to `DEPROVISIONING`
            while it is

            removed asynchronously.

            '
          content:
            application/json:
              schema:
                type: object
                description: '`SwitchoverEndpoint` represents the endpoint-level Disaster Recovery configuration
                  for a

                  `SwitchoverPair`. It exposes a sticky DR bootstrap endpoint that clients connect to
                  so they

                  never need to update their bootstrap endpoint after a failover; that bootstrap endpoint
                  is

                  not part of this resource''s API representation (ORC-10133) and is obtained separately.
                  For

                  stateful pairs, the active endpoint follows the pair''s active member.


                  The API allows you to list, create, read, update, and delete switchover endpoints.



                  Related guide: [Disaster Recovery for Kafka in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/cluster-linking/index.html).

                  '
                properties:
                  api_version:
                    type: string
                    enum:
                    - switchover/v1
                    description: APIVersion defines the schema version of this representation of a resource.
                    readOnly: true
                  kind:
                    type: string
                    description: Kind defines the object this REST resource represents.
                    readOnly: true
                    enum:
                    - SwitchoverEndpoint
                  id:
                    description: ID is the "natural identifier" for an object within its scope/namespace;
                      it is normally unique across time but not space. That is, you can assume that the
                      ID will not be reclaimed and reused after an object is deleted ("time"); however,
                      it may collide with IDs for other object `kinds` or objects of the same `kind` within
                      a different scope/namespace ("space").
                    type: string
                    maxLength: 255
                    readOnly: true
                    example: dlz-f3a90de
                  metadata:
                    allOf:
                    - description: ObjectMeta is metadata that all persisted resources must have, which
                        includes all objects users must create.
                      required:
                      - self
                      properties:
                        self:
                          description: Self is a Uniform Resource Locator (URL) at which an object can
                            be addressed. This URL encodes the service location, API version, and other
                            particulars necessary to locate the resource at a point in time
                          type: string
                          format: uri
                          readOnly: true
                          example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de
                        resource_name:
                          description: Resource Name is a Uniform Resource Identifier (URI) that is globally
                            unique across space and time. It is represented as a Confluent Resource Name
                          type: string
                          format: uri
                          readOnly: true
                          example: crn://confluent.cloud/kafka=lkc-f3a90de
                        created_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was created. It is represented
                            in RFC3339 format and is in UTC.
                        updated_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was last updated. It is
                            represented in RFC3339 format and is in UTC.
                        deleted_at:
                          type: string
                          format: date-time
                          example: '2006-01-02T15:04:05-07:00'
                          readOnly: true
                          description: The date and time at which this object was (or will be) deleted.
                            It is represented in RFC3339 format and is in UTC.
                      readOnly: true
                      title: ObjectMeta
                    - properties:
                        self:
                          example: https://api.confluent.cloud/switchover/v1/switchover-endpoints/se-12345
                        resource_name:
                          example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/switchover-endpoint=se-12345
                  spec:
                    type: object
                    description: The desired state of the Switchover Endpoint
                    properties:
                      environment_crn:
                        type: string
                        format: uri
                        description: 'The CRN of the environment this switchover endpoint belongs to —
                          always its parent pair''s

                          environment, derived from `parent_resource_crn` on create (ORC-9794 decision
                          log).

                          Read-only: accepting a second copy of the same scope would only create the possibility
                          of

                          the two disagreeing. It is also the value whose ID is passed as the `?environment=`
                          query

                          parameter on the other operations.

                          '
                        readOnly: true
                        example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000
                      parent_resource_crn:
                        type: string
                        format: uri
                        pattern: ^crn://confluent\.cloud/organization=[^/]+/environment=[^/]+/switchover-pair=.+$
                        description: 'The CRN of the switchover pair this endpoint is bound to. Must name
                          the same environment as

                          `environment_crn`: the pair is looked up in that scope, so a mismatch would
                          report a

                          confusing not-found rather than the inconsistency the caller introduced.

                          '
                        example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000/switchover-pair=sw-00000
                        x-immutable: true
                      display_name:
                        type: string
                        description: A human-readable name for the switchover endpoint.
                        example: prod-kafka-dr-endpoint
                        maxLength: 256
                      target:
                        type: string
                        description: 'The name of the endpoint that is currently active; always one of
                          `endpoints[].name`.

                          Output-only: the Switchover service derives it from the pair''s active member
                          at create time

                          and moves it on every failover. A value supplied on create is ignored.

                          '
                        example: west-platt
                        readOnly: true
                      endpoints:
                        type: array
                        description: 'The endpoint definitions, one per side (e.g. west/east). Must contain
                          exactly 2 entries.

                          '
                        minItems: 2
                        maxItems: 2
                        items:
                          type: object
                          description: Configuration for a single endpoint side of a `SwitchoverEndpoint`.
                          required:
                          - name
                          - endpoint_filter
                          properties:
                            name:
                              type: string
                              description: A logical name for this endpoint side (e.g. "west-platt"),
                                unique within the resource.
                              example: west-platt
                            hostname:
                              type: string
                              description: The resolved hostname for this endpoint. Set by the Switchover
                                service.
                              readOnly: true
                              example: lkc-west-platt.us-west-2.aws.private.confluent.cloud
                            cloud:
                              type: string
                              description: The cloud provider this endpoint resolves in. Output-only,
                                derived server-side.
                              readOnly: true
                              example: aws
                            region:
                              type: string
                              description: The cloud region this endpoint resolves in. Output-only, derived
                                server-side.
                              readOnly: true
                              example: us-west-2
                            connection_type:
                              type: string
                              description: 'The connection type of the resolved endpoint (e.g. `PRIVATE_LINK`),
                                from

                                cc-endpoint-service''s vocabulary. Output-only; empty when the connection
                                type is

                                unspecified.

                                '
                              readOnly: true
                              example: PRIVATE_LINK
                            endpoint_filter:
                              allOf:
                              - type: object
                                description: 'The client-supplied criteria that select which network endpoint
                                  to use for this side of the

                                  switchover pair. This filter is the only part of an endpoint side the
                                  caller provides; the

                                  resolved endpoint details on the parent `EndpointConfig` — `hostname`,
                                  `cloud`, `region`, and

                                  `connection_type` — are derived server-side from the selected network
                                  (or access point) and the

                                  `SwitchoverPair` member, not supplied here (ORC-10125).


                                  Set `type` to `public` or `private`. A `private` endpoint sets exactly
                                  one of `network_crn` or

                                  `access_point_crn`; each independently resolves a unique endpoint, so
                                  a second selector is never

                                  needed and could only disagree with the first. A `public` endpoint sets
                                  neither.


                                  There is deliberately no environment field: the environment is always
                                  recoverable without one —

                                  from `network_crn` or `access_point_crn` on a private entry, and from
                                  the switchover endpoint''s

                                  own `environment_crn` on a public entry. Carrying it here too would
                                  only duplicate that fact and

                                  let a caller name an environment that disagrees with the CRN beside
                                  it.

                                  '
                                required:
                                - type
                                properties:
                                  type:
                                    type: string
                                    description: Whether the endpoint is private or public.
                                    example: private
                                    enum:
                                    - private
                                    - public
                                  network_crn:
                                    type: string
                                    format: uri
                                    pattern: ^crn://confluent\.cloud/organization=[^/]+/environment=[^/]+/network=.+$
                                    description: 'CRN of the network to resolve this endpoint against.
                                      A private endpoint sets exactly one

                                      of this or `access_point_crn` — each independently resolves a unique
                                      endpoint, so a

                                      second selector is never needed and could only disagree with the
                                      first. A public

                                      endpoint sets neither.

                                      '
                                    example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000/network=n-abc123
                                  access_point_crn:
                                    type: string
                                    format: uri
                                    pattern: ^crn://confluent\.cloud/organization=[^/]+/environment=[^/]+/gateway=[^/]+/access-point=.+$
                                    description: 'CRN of the network access point, for access-point (PNI)
                                      endpoints — the alternative to

                                      `network_crn`; a private endpoint sets exactly one of the two. The
                                      `gateway` segment is

                                      part of the registered canonical form and is required.

                                      '
                                    example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000/gateway=gw-456xyz/access-point=ap-west-xyz
                                title: switchover.v1.EndpointFilter
                          title: switchover.v1.EndpointConfig
                        x-immutable: true
                    x-enable-id: true
                    x-enable-listmeta: true
                    x-enable-objectmeta: true
                    title: switchover.v1.SwitchoverEndpointSpec
                  status:
                    type: object
                    required:
                    - phase
                    description: The status of the Switchover Endpoint
                    properties:
                      phase:
                        type: string
                        description: "The lifecycle phase of the switchover endpoint:\n  PROVISIONING:\
                          \    the endpoint is being created and reconciled;\n  READY:           the endpoint\
                          \ is reconciled and serving traffic;\n  FAILED:          the endpoint encountered\
                          \ an error;\n  DEPROVISIONING:  the endpoint is being deleted.\n"
                        readOnly: true
                        example: READY
                        enum:
                        - PROVISIONING
                        - READY
                        - FAILED
                        - DEPROVISIONING
                      conditions:
                        type: array
                        description: Status conditions providing detailed information about the switchover
                          endpoint's current state.
                        items:
                          type: object
                          description: 'A single status condition on a `SwitchoverEndpoint`, following
                            the standard Kubernetes/Confluent

                            condition pattern. Unlike a `SwitchoverPair` (whose conditions are per-member),
                            an endpoint has

                            a single resource-level condition.

                            '
                          required:
                          - type
                          - status
                          properties:
                            type:
                              type: string
                              description: The condition type. A `SwitchoverEndpoint` reports the single
                                type `ResourceProvisioningComplete`.
                              example: ResourceProvisioningComplete
                              enum:
                              - ResourceProvisioningComplete
                            status:
                              type: string
                              description: The status of the condition.
                              example: 'True'
                              enum:
                              - 'True'
                              - 'False'
                              - Unknown
                            reason:
                              type: string
                              description: A machine-readable reason for the condition's current status.
                              example: Reconciled
                            message:
                              type: string
                              description: A human-readable message providing additional detail about
                                the condition.
                              example: The endpoint is ready.
                          title: switchover.v1.SwitchoverEndpointCondition
                        readOnly: true
                    readOnly: true
                    title: switchover.v1.SwitchoverEndpointStatus
                title: switchover.v1.SwitchoverEndpoint
        '400':
          description: Bad Request
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '400'
                  code: invalid_filter
                  title: Invalid Filter
                  detail: The 'delorean' resource can't be filtered by 'num_doors'
                  source:
                    parameter: num_doors
        '401':
          x-summary: Unauthorized
          description: The request lacks valid authentication credentials for this resource.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            WWW-Authenticate:
              schema:
                type: string
              description: The unique identifier for the API request.
              example: Basic error="invalid_key", error_description="The API Key is invalid"
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '401'
                  code: user_unauthenticated
                  title: Authentication Required
                  detail: Valid authentication credentials must be provided
        '403':
          x-summary: Forbidden
          description: The access credentials were considered insufficient to grant access
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '403'
                  code: user_unauthorized
                  title: User Access Unauthorized
                  detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the
                    'plutonium' role.
        '404':
          description: Not Found
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '404'
                  title: Not Found
        '429':
          description: Rate Limit Exceeded
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit window resets. \
                \ \n  \n**Important:** This differs from Github and Twitter's same-named header which\
                \ uses UTC epoch seconds. We use relative time to avoid client/server time synchronization\
                \ issues."
            Retry-After:
              schema:
                type: integer
              description: The number of seconds to wait until the rate limit window resets. Only sent
                when the rate limit is reached.
        '500':
          description: Oops, something went wrong!
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '500'
                  code: out_of_gas
                  title: DeLorean Out Of Gas
                  detail: The DeLorean has run out of gas, but Doc Brown will fill 'er up for you asap
      servers:
      - url: https://api.confluent.cloud
        description: Confluent Cloud API