@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api GDPR API
@version 3.0.0
@auth ApiKey token in query
@endpoints 5
@toc data-retrievals(2), data-deletions(3)

@group data-retrievals
@endpoint POST /data-retrievals/v3.0
@desc Create a Retrieval
@required {token: str # Your project token}
@optional {distinct_ids: [str], compliance_type: str # Select CCPA or GDPR. Default is GDPR., disclosure_type: str # Only required if compliance_type = CCPA. Can be Data, Categories, or Sources. Default is Data.}
@returns(201) {status: str, results: map{task_id: str}} # Success
@errors {401, 403}

@endpoint GET /data-retrievals/v3.0/{tracking_id}
@desc Check Status of Retrieval
@returns(200) {status: str, results: map{status: str, results: str, distinct_ids: [str]}} # Success
@errors {401, 403}

@endgroup

@group data-deletions
@endpoint POST /data-deletions/v3.0
@desc Create a Deletion
@required {token: str # Your project token}
@optional {distinct_ids: [str], compliance_type: str # Select CCPA or GDPR. Default is GDPR.}
@returns(201) {status: str, results: map{task_id: str}} # Success
@errors {401, 403}

@endpoint GET /data-deletions/v3.0/{tracking_id}
@desc Check Status of Deletion
@returns(200) {status: str, results: map{tracking_id: str, status: str, requesting_user: str, compliance_type: str, project_id: num, date_requested: str, distinct_ids: [str]}} # Success
@errors {401, 403}

@endpoint DELETE /data-deletions/v3.0/{tracking_id}
@desc Cancel a Deletion
@returns(204) Success
@errors {401, 403}

@endgroup

@end
