Chilkat Online Tools

PureBasic / DocuSign REST API / Removes users account privileges.

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    ; Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    ; The following JSON is sent in the request body.

    ; {
    ;   "users": [
    ;     {
    ;       "userName": "sample string 1",
    ;       "userId": "sample string 2",
    ;       "email": "sample string 3",
    ;       "userType": "sample string 4",
    ;       "userStatus": "sample string 5",
    ;       "uri": "sample string 6",
    ;       "loginStatus": "sample string 7",
    ;       "sendActivationEmail": "sample string 8",
    ;       "activationAccessCode": "sample string 9"
    ;     }
    ;   ]
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"users[0].userName","sample string 1")
    CkJsonObject::ckUpdateString(json,"users[0].userId","sample string 2")
    CkJsonObject::ckUpdateString(json,"users[0].email","sample string 3")
    CkJsonObject::ckUpdateString(json,"users[0].userType","sample string 4")
    CkJsonObject::ckUpdateString(json,"users[0].userStatus","sample string 5")
    CkJsonObject::ckUpdateString(json,"users[0].uri","sample string 6")
    CkJsonObject::ckUpdateString(json,"users[0].loginStatus","sample string 7")
    CkJsonObject::ckUpdateString(json,"users[0].sendActivationEmail","sample string 8")
    CkJsonObject::ckUpdateString(json,"users[0].activationAccessCode","sample string 9")

    ; Adds the "Authorization: Bearer {{accessToken}}" header.
    CkHttp::setCkAuthToken(http, "{{accessToken}}")
    CkHttp::ckSetRequestHeader(http,"Accept","application/json")

    sbRequestBody.i = CkStringBuilder::ckCreate()
    If sbRequestBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckEmitSb(json,sbRequestBody)

    resp.i = CkHttp::ckPTextSb(http,"DELETE","https://domain.com/v2.1/accounts/{{accountId}}/users?delete={{delete}}",sbRequestBody,"utf-8","application/json",0,0)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        CkStringBuilder::ckDispose(sbRequestBody)
        ProcedureReturn
    EndIf

    Debug Str(CkHttpResponse::ckStatusCode(resp))
    Debug CkHttpResponse::ckBodyStr(resp)
    CkHttpResponse::ckDispose(resp)



    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)
    CkStringBuilder::ckDispose(sbRequestBody)


    ProcedureReturn
EndProcedure

Curl Command

curl -X DELETE
	-H "Accept: application/json"
	-H "Authorization: Bearer {{accessToken}}"
	-d '{
  "users": [
    {
      "userName": "sample string 1",
      "userId": "sample string 2",
      "email": "sample string 3",
      "userType": "sample string 4",
      "userStatus": "sample string 5",
      "uri": "sample string 6",
      "loginStatus": "sample string 7",
      "sendActivationEmail": "sample string 8",
      "activationAccessCode": "sample string 9"
    }
  ]
}'
https://domain.com/v2.1/accounts/{{accountId}}/users?delete={{delete}}

Postman Collection Item JSON

{
  "name": "Removes users account privileges.",
  "request": {
    "method": "DELETE",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      },
      {
        "key": "Authorization",
        "value": "Bearer {{accessToken}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"users\": [\n    {\n      \"userName\": \"sample string 1\",\n      \"userId\": \"sample string 2\",\n      \"email\": \"sample string 3\",\n      \"userType\": \"sample string 4\",\n      \"userStatus\": \"sample string 5\",\n      \"uri\": \"sample string 6\",\n      \"loginStatus\": \"sample string 7\",\n      \"sendActivationEmail\": \"sample string 8\",\n      \"activationAccessCode\": \"sample string 9\"\n    }\n  ]\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/v2.1/accounts/{{accountId}}/users?delete={{delete}}",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "v2.1",
        "accounts",
        "{{accountId}}",
        "users"
      ],
      "query": [
        {
          "key": "delete",
          "value": "{{delete}}"
        }
      ],
      "variable": [
        {
          "key": "accountId",
          "value": "{{accountId}}"
        }
      ]
    },
    "description": "This closes one or more user records in the account. Users are never deleted from an account, but closing a user prevents them from using account functions.\n\nThe response returns whether the API execution was successful (200 - OK) or  if it failed. The response contains a user structure similar to the request and includes the user changes. If an error occurred during the DELETE operation for any of the users, the response for that user contains an `errorDetails` node with `errorCode` and `message` properties."
  },
  "response": [
  ]
}