PingOne Platform APIs

Delete Rule

 

DELETE {{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}

The following sample shows the DELETE {{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}} operation to delete the propagation rule resource specified by its ID in the request URL.

Query parameters
Parameter Description

deprovision

When equal to true, enables deprovisioning of users when rules and associated stores are deleted.

Example: DELETE {{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}?deprovision=true

To successfully use the deprovision query parameter, either:
  • The managed property (preferred) must also be set to true on the target store using either POST {{apiPath}}/environments/{{envID}}/propagation/stores or PUT {{apiPath}}/environments/{{envID}}/propagation/stores/{{storeID}}.

  • The deprovision property (deprecated but if used) must also be set to true on the rule using either POST {{apiPath}}/environments/{{envID}}/propagation/rules or PUT {{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}.

When successful, the DELETE request returns an empty response with a status code 204 No Content.

Headers

Authorization      Bearer {{accessToken}}

Accept      application/json

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff --request DELETE '{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{accessToken}}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Delete);
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}"
  method := "DELETE"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Accept", "application/json")
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
DELETE /environments/{{envID}}/propagation/rules/{{ruleID}} HTTP/1.1
Host: {{apiPath}}
Accept: application/json
Authorization: Bearer {{accessToken}}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}")
  .method("DELETE", body)
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}",
  "method": "DELETE",
  "timeout": 0,
  "headers": {
    "Accept": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'DELETE',
  'url': '{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}',
  'headers': {
    'Accept': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}"

payload = {}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("DELETE", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
require "uri"
require "net/http"

url = URI("{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Delete.new(url)
request["Accept"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"

response = http.request(request)
puts response.read_body
var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/propagation/rules/{{ruleID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "DELETE"

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

204 No Content