@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
@required {token: str}
@optional {distinct_ids: [str], compliance_type: str, disclosure_type: str}
@returns(201) {status: str, results: map{task_id: str}}
@errors {401, 403}

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

@endgroup

@group data-deletions
@endpoint POST /data-deletions/v3.0
@required {token: str}
@optional {distinct_ids: [str], compliance_type: str}
@returns(201) {status: str, results: map{task_id: str}}
@errors {401, 403}

@endpoint GET /data-deletions/v3.0/{tracking_id}
@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]}}
@errors {401, 403}

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

@endgroup

@end
