Schedule Time

Use this endpoint to schedule an individual or a group of individuals for a GDPR job.

services/v2/jobs/gdpr/schedule.json

- URL (Path/Query) Params
No query params needed; no path param needed.

- Data Params
No data params

- Request Body
1a. If you select the bulk operation, then the user needs to provide the CSV file ID key-value pair.
1b. If it’s an individual operation, then you need the user key with any of the three optional values.
2. Schedule Date - as "scheduleDate" : <timestamp...see Note on Formats for Dates and timeStamps:>

- Sample Request Body:

  • For bulk:
{  
   “csvFileId”:id-returned-by-upload-endpoint,
   "scheduleDate":<timestamp>,
   "operations":[  
      <see operations>
   ]
}
  • For individual:
{  
   "user":{  
      "username":<optional>,
      "email":<optional>,
      "id":<optional>
   },
   "scheduleTime":<timestamp>,
   "operations":[  
      <see operations>
   ]
},
{  
   "operations":[  
      "anonymize",
      "delete"
   ]
}

Must pick one of the options for "user" and "operations"

  • For the “user” object and the "Operations" array, we require one of the optional keys.
    • User Types: username, email, or ID.
    • Operation Types: it’s a list that can contain at most 4 elements [suspend, anonymize, delete, anon-delete]:

Note on Formats for Dates and timeStamps:

  • Schedule date: Option 1: "scheduleDate" : { "formatted" : "month/day/year hour:second" }
    • eg: 10/07/2018 10:26
    Option 2: "scheduleDate" : { "timeStamp" :

🚧

For Permissions, Requirements, and More Detailed Information:

Reference the GDPR Plugin Docs in the Non-Reference portion of the documentation.

Sample Requests

Sample Request Using Bulk:
Call:
url -X POST -u : -H "Accept:applicaton/json" -H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" -d '{ "csvFileId": , "scheduleDate": {"formatted": ""}, "operations" : [""], "type":"bulk"}'

curl 
-X POST 
-u piero:mypass 
-H "Accept:applicaton/json" 
-H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" 
-d '{"csvFileId": <file id>, "scheduleDate": {"formatted": "10/15/2018 12:22"}, "operations" : ["anonymize"], "type":"bulk"}'

Sample Request For A Single User:
Call:
curl -X POST -u : -H "Accept:application/json" -H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" -d '{ "user" : {"username":""}, "scheduleDate": {"formatted": ""}, "reassignUser" : {"username" : ""}, "operations" : [""], "type" : "individual"}'

curl 
-X POST 
-u piero:mypass 
-H "Accept:application/json" 
-H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" 
-d '{"user" : {"username":"pz10"}, 
"scheduleDate": {"formatted": "10/15/2018 12:02"}, 
"reassignUser" : {"username" : "piero"}, 
"operations" : ["suspend"], "type" : "individual"}'

Example Of Incorrect Sample Requests

Example with incorrect user section specified:

curl 
-X POST 
-u piero:mypass 
-H "Accept:applicaton/json" 
-H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" 
-d '{"user": {"username" : "pz10"}, "scheduleDate": {"formatted": "10/10/2018 12:22"}, "operations" : ["anonymize"], "type":"individual"}'

Example with bulk schedule in mind, but no type: bulk specified:

curl 
-X POST 
-u piero:mypass 
-H "Accept:application/json" 
-H "Content-Type: application/json" "https://apidocs.cloud.answerhub.com/services/v2/jobs/gdpr/schedule.json" 
-d '{"csvFileId": 562, "scheduleDate": {"formatted": "10/10/2018 12:21"}, "operations" : ["anonymize"]}'

Expected Responses

- Success Response:
Code: 201 created
Content:  {"jobId”: }

- Error Response:
- No user selected: HTTP/1.1 400 Bad Request
{"error": "The individual type was selected, but the request is missing the user

 - file id not specified: HTTP/1.1 400 Bad Request 

{"error": "The bulk type was selected, but the request is missing the csvFileId field."}

  • file id does not exist: HTTP/1.1 400 Bad Request

{"error": "The requested file does not exist"}

- There is a job already scheduled for that timeframe: HTTP/1.1 400 Bad Request 

{"error": "There is a job already scheduled for that time frame."}

- The selected date is not eligible: HTTP/1.1 400 Bad Request 

{"error": "The desired date is in the past and is it not eligible."}

- Empty operations list was submitted: HTTP/1.1 400 Bad Request 

{"error":"The provided 'operations' is/are invalid"}

- Reassign user with more than one way of identifying who they are. (eg:"reassignUser" : {"id" : 7, "username" : "piero"})     HTTP/1.1 400 Bad Request 

{"error": "The request contains more than one reassignUser eligible configuration"}

- The reassign user does not exist:  HTTP/1.1 400 Bad Request 

{"error": "The provided 'reassignUser' is/are invalid"}

Sample Responses

Successful Response:

{
   "jobId”:<id-value>
}

Error Response File ID Not Specified: HTTP/1.1 400 Bad Request

{
   "error":"The bulk type was selected, but the request is missing the csvFileId field."
}

Error Response File ID Does Not Exist:  HTTP/1.1 400 Bad Request

{
   "error":"The requested file does not exist"
}

Error Response There Is A Job Already Scheduled For That Timeframe: HTTP/1.1 400 Bad Request

{
   "error":"There is a job already scheduled for that time frame."
}

Error Response The Selected Date Is Not Eligible: HTTP/1.1 400 Bad Request

{
   "error":"The desired date is in the past and is it not eligible."
}

Error Response Empty Operations List Was Submitted: HTTP/1.1 400 Bad Request

{
   "error":"The provided 'operations' is/are invalid"
}

Error Response Reassign User With More Than One Way Of Identifying Who They Are

{
   "error":"The request contains more than one reassignUser eligible configuration"
}

Error Response The Reassign User Does Not Exist:  HTTP/1.1 400 Bad Request

{
   "error":"The provided 'reassignUser' is/are invalid"
}
Language
Authorization
Basic
base64
:
Click Try It! to start a request and see the response here!