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.
// {
// "passwordStrengthType": "sample string 1",
// "passwordStrengthTypeMetadata": {
// "options": [
// {
// "name": "sample string 1",
// "minimumLength": "sample string 2",
// "passwordIncludeUpperCase": "sample string 3",
// "passwordIncludeLowerCase": "sample string 4",
// "passwordIncludeDigit": "sample string 5",
// "passwordIncludeSpecialCharacter": "sample string 6",
// "passwordIncludeDigitOrSpecialCharacter": "sample string 7"
// }
// ]
// },
// "expirePassword": "sample string 2",
// "expirePasswordDays": "sample string 3",
// "expirePasswordDaysMetadata": {
// "minimumDays": "sample string 1",
// "maximumDays": "sample string 2"
// },
// "minimumPasswordLength": "sample string 4",
// "minimumPasswordLengthMetadata": {
// "minimumLength": "sample string 1",
// "maximumLength": "sample string 2"
// },
// "minimumPasswordAgeDays": "sample string 5",
// "minimumPasswordAgeDaysMetadata": {
// "minimumAge": "sample string 1",
// "maximumAge": "sample string 2"
// },
// "lockoutDurationType": "sample string 6",
// "lockoutDurationTypeMetadata": {
// "options": [
// "sample string 1"
// ]
// },
// "lockoutDurationMinutes": "sample string 7",
// "lockoutDurationMinutesMetadata": {
// "minimumMinutes": "sample string 1",
// "maximumMinutes": "sample string 2"
// },
// "passwordIncludeUpperCase": "sample string 8",
// "passwordIncludeLowerCase": "sample string 9",
// "passwordIncludeDigit": "sample string 10",
// "passwordIncludeSpecialCharacter": "sample string 11",
// "passwordIncludeDigitOrSpecialCharacter": "sample string 12",
// "questionsRequired": "sample string 13",
// "questionsRequiredMetadata": {
// "minimumQuestions": "sample string 1",
// "maximumQuestions": "sample string 2"
// }
// }
json = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"passwordStrengthType",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].name",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].minimumLength",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].passwordIncludeUpperCase",L"sample string 3");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].passwordIncludeLowerCase",L"sample string 4");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].passwordIncludeDigit",L"sample string 5");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].passwordIncludeSpecialCharacter",L"sample string 6");
CkJsonObjectW_UpdateString(json,L"passwordStrengthTypeMetadata.options[0].passwordIncludeDigitOrSpecialCharacter",L"sample string 7");
CkJsonObjectW_UpdateString(json,L"expirePassword",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"expirePasswordDays",L"sample string 3");
CkJsonObjectW_UpdateString(json,L"expirePasswordDaysMetadata.minimumDays",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"expirePasswordDaysMetadata.maximumDays",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"minimumPasswordLength",L"sample string 4");
CkJsonObjectW_UpdateString(json,L"minimumPasswordLengthMetadata.minimumLength",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"minimumPasswordLengthMetadata.maximumLength",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"minimumPasswordAgeDays",L"sample string 5");
CkJsonObjectW_UpdateString(json,L"minimumPasswordAgeDaysMetadata.minimumAge",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"minimumPasswordAgeDaysMetadata.maximumAge",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"lockoutDurationType",L"sample string 6");
CkJsonObjectW_UpdateString(json,L"lockoutDurationTypeMetadata.options[0]",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"lockoutDurationMinutes",L"sample string 7");
CkJsonObjectW_UpdateString(json,L"lockoutDurationMinutesMetadata.minimumMinutes",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"lockoutDurationMinutesMetadata.maximumMinutes",L"sample string 2");
CkJsonObjectW_UpdateString(json,L"passwordIncludeUpperCase",L"sample string 8");
CkJsonObjectW_UpdateString(json,L"passwordIncludeLowerCase",L"sample string 9");
CkJsonObjectW_UpdateString(json,L"passwordIncludeDigit",L"sample string 10");
CkJsonObjectW_UpdateString(json,L"passwordIncludeSpecialCharacter",L"sample string 11");
CkJsonObjectW_UpdateString(json,L"passwordIncludeDigitOrSpecialCharacter",L"sample string 12");
CkJsonObjectW_UpdateString(json,L"questionsRequired",L"sample string 13");
CkJsonObjectW_UpdateString(json,L"questionsRequiredMetadata.minimumQuestions",L"sample string 1");
CkJsonObjectW_UpdateString(json,L"questionsRequiredMetadata.maximumQuestions",L"sample string 2");
// 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"PUT",L"https://domain.com/v2.1/accounts/{{accountId}}/settings/password_rules",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 PUT
-H "Accept: application/json"
-H "Authorization: Bearer {{accessToken}}"
-d '{
"passwordStrengthType": "sample string 1",
"passwordStrengthTypeMetadata": {
"options": [
{
"name": "sample string 1",
"minimumLength": "sample string 2",
"passwordIncludeUpperCase": "sample string 3",
"passwordIncludeLowerCase": "sample string 4",
"passwordIncludeDigit": "sample string 5",
"passwordIncludeSpecialCharacter": "sample string 6",
"passwordIncludeDigitOrSpecialCharacter": "sample string 7"
}
]
},
"expirePassword": "sample string 2",
"expirePasswordDays": "sample string 3",
"expirePasswordDaysMetadata": {
"minimumDays": "sample string 1",
"maximumDays": "sample string 2"
},
"minimumPasswordLength": "sample string 4",
"minimumPasswordLengthMetadata": {
"minimumLength": "sample string 1",
"maximumLength": "sample string 2"
},
"minimumPasswordAgeDays": "sample string 5",
"minimumPasswordAgeDaysMetadata": {
"minimumAge": "sample string 1",
"maximumAge": "sample string 2"
},
"lockoutDurationType": "sample string 6",
"lockoutDurationTypeMetadata": {
"options": [
"sample string 1"
]
},
"lockoutDurationMinutes": "sample string 7",
"lockoutDurationMinutesMetadata": {
"minimumMinutes": "sample string 1",
"maximumMinutes": "sample string 2"
},
"passwordIncludeUpperCase": "sample string 8",
"passwordIncludeLowerCase": "sample string 9",
"passwordIncludeDigit": "sample string 10",
"passwordIncludeSpecialCharacter": "sample string 11",
"passwordIncludeDigitOrSpecialCharacter": "sample string 12",
"questionsRequired": "sample string 13",
"questionsRequiredMetadata": {
"minimumQuestions": "sample string 1",
"maximumQuestions": "sample string 2"
}
}'
https://domain.com/v2.1/accounts/{{accountId}}/settings/password_rules
Postman Collection Item JSON
{
"name": "Update the password rules",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json"
},
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"passwordStrengthType\": \"sample string 1\",\n \"passwordStrengthTypeMetadata\": {\n \"options\": [\n {\n \"name\": \"sample string 1\",\n \"minimumLength\": \"sample string 2\",\n \"passwordIncludeUpperCase\": \"sample string 3\",\n \"passwordIncludeLowerCase\": \"sample string 4\",\n \"passwordIncludeDigit\": \"sample string 5\",\n \"passwordIncludeSpecialCharacter\": \"sample string 6\",\n \"passwordIncludeDigitOrSpecialCharacter\": \"sample string 7\"\n }\n ]\n },\n \"expirePassword\": \"sample string 2\",\n \"expirePasswordDays\": \"sample string 3\",\n \"expirePasswordDaysMetadata\": {\n \"minimumDays\": \"sample string 1\",\n \"maximumDays\": \"sample string 2\"\n },\n \"minimumPasswordLength\": \"sample string 4\",\n \"minimumPasswordLengthMetadata\": {\n \"minimumLength\": \"sample string 1\",\n \"maximumLength\": \"sample string 2\"\n },\n \"minimumPasswordAgeDays\": \"sample string 5\",\n \"minimumPasswordAgeDaysMetadata\": {\n \"minimumAge\": \"sample string 1\",\n \"maximumAge\": \"sample string 2\"\n },\n \"lockoutDurationType\": \"sample string 6\",\n \"lockoutDurationTypeMetadata\": {\n \"options\": [\n \"sample string 1\"\n ]\n },\n \"lockoutDurationMinutes\": \"sample string 7\",\n \"lockoutDurationMinutesMetadata\": {\n \"minimumMinutes\": \"sample string 1\",\n \"maximumMinutes\": \"sample string 2\"\n },\n \"passwordIncludeUpperCase\": \"sample string 8\",\n \"passwordIncludeLowerCase\": \"sample string 9\",\n \"passwordIncludeDigit\": \"sample string 10\",\n \"passwordIncludeSpecialCharacter\": \"sample string 11\",\n \"passwordIncludeDigitOrSpecialCharacter\": \"sample string 12\",\n \"questionsRequired\": \"sample string 13\",\n \"questionsRequiredMetadata\": {\n \"minimumQuestions\": \"sample string 1\",\n \"maximumQuestions\": \"sample string 2\"\n }\n}"
},
"url": {
"raw": "{{baseUrl}}/v2.1/accounts/{{accountId}}/settings/password_rules",
"host": [
"{{baseUrl}}"
],
"path": [
"v2.1",
"accounts",
"{{accountId}}",
"settings",
"password_rules"
],
"variable": [
{
"key": "accountId",
"value": "{{accountId}}",
"type": "string"
}
]
}
},
"response": [
]
}