Chilkat Online Tools

unicodeC / DocuSign REST API / Removes users account privileges.

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkStringBuilderW.h>
#include <C_CkHttpResponseW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkJsonObjectW json;
    HCkStringBuilderW sbRequestBody;
    HCkHttpResponseW resp;

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

    http = CkHttpW_Create();

    // 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 = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(json,L"users[0].userName",L"sample string 1");
    CkJsonObjectW_UpdateString(json,L"users[0].userId",L"sample string 2");
    CkJsonObjectW_UpdateString(json,L"users[0].email",L"sample string 3");
    CkJsonObjectW_UpdateString(json,L"users[0].userType",L"sample string 4");
    CkJsonObjectW_UpdateString(json,L"users[0].userStatus",L"sample string 5");
    CkJsonObjectW_UpdateString(json,L"users[0].uri",L"sample string 6");
    CkJsonObjectW_UpdateString(json,L"users[0].loginStatus",L"sample string 7");
    CkJsonObjectW_UpdateString(json,L"users[0].sendActivationEmail",L"sample string 8");
    CkJsonObjectW_UpdateString(json,L"users[0].activationAccessCode",L"sample string 9");

    // Adds the "Authorization: Bearer {{accessToken}}" header.
    CkHttpW_putAuthToken(http,L"{{accessToken}}");
    CkHttpW_SetRequestHeader(http,L"Accept",L"application/json");

    sbRequestBody = CkStringBuilderW_Create();
    CkJsonObjectW_EmitSb(json,sbRequestBody);

    resp = CkHttpW_PTextSb(http,L"DELETE",L"https://domain.com/v2.1/accounts/{{accountId}}/users?delete={{delete}}",sbRequestBody,L"utf-8",L"application/json",FALSE,FALSE);
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        CkStringBuilderW_Dispose(sbRequestBody);
        return;
    }

    wprintf(L"%d\n",CkHttpResponseW_getStatusCode(resp));
    wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
    CkHttpResponseW_Dispose(resp);


    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(json);
    CkStringBuilderW_Dispose(sbRequestBody);

    }

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": [
  ]
}