DELETE /playstore-domains-delete-one¶
Summary¶
Source repository:
jef-systems/jef-playstore-backendSource SHA:
64ad77ce9b0661a0074a608cea670ffb33b24903Source run id:
28958095610Lambda function:
jef-playstore-delete-004Lambda ARN:
arn:aws:lambda:ap-southeast-1:246715082475:function:jef-playstore-delete-004HTTP method:
DELETEOperation:
delete-oneInvoke mode:
asynchronousPublic DELETE endpoint:
https://api.jefoffice.com/playstore-domains-delete-onePublic status endpoint:
https://api.jefoffice.com/playstore-domains-delete-one/statusAPI path:
/playstore-domains-delete-oneStatus path:
/playstore-domains-delete-one/statusCloudflare public base URL:
https://api.jefoffice.comDynamoDB table:
jef-playstore-domainsPrimary key:
domain\_idCascade mode:
durable-jobNo-scan cascade:
trueThrottle safe:
true
Required Input¶
The DELETE request must include the primary key. The Lambda accepts the real primary key field name, primary_key_value, or id.
Accepted primary key aliases:
domain\_idprimary_key_valueid
Optional fields:
cascade_delete: defaults totrue. When true, the Lambda creates a durable async delete job.delete_job_id: used only when polling the status endpoint.
DELETE Request Body Example¶
{
"domain_id": "00000000-0000-4000-8000-000000000000",
"cascade_delete": true
}
Alternative Body Example¶
{
"primary_key_value": "00000000-0000-4000-8000-000000000000",
"cascade_delete": true
}
Query Example¶
DELETE /playstore-domains-delete-one?domain_id=00000000-0000-4000-8000-000000000000&cascade_delete=true
CMD curl¶
curl -X DELETE "https://api.jefoffice.com/playstore-domains-delete-one" -H "Content-Type: application/json" --data-raw '{"domain_id": "00000000-0000-4000-8000-000000000000", "cascade_delete": true}'
PowerShell curl¶
curl.exe -X DELETE "https://api.jefoffice.com/playstore-domains-delete-one" -H "Content-Type: application/json" --data-raw "{\"domain_id\": \"00000000-0000-4000-8000-000000000000\", \"cascade_delete\": true}"
Status Polling¶
After a cascade delete returns 202 Accepted, poll the status endpoint with the returned delete_job_id.
{
"delete_job_id": "<delete_job_id>"
}
Status curl:
curl "https://api.jefoffice.com/playstore-domains-delete-one/status?delete_job_id=<delete_job_id>"
Status PowerShell curl:
curl.exe "https://api.jefoffice.com/playstore-domains-delete-one/status?delete_job_id=<delete_job_id>"
Accepted Async Response¶
{
"ok": true,
"is_deleted": false,
"is_committed": false,
"is_async": true,
"operation": "delete-one",
"method": "DELETE",
"primary_key": "domain_id",
"primary_key_value": "00000000-0000-4000-8000-000000000000",
"cascade_delete": true,
"cascade_mode": "durable-job",
"delete_job_id": "<delete_job_id>",
"status": "running",
"status_path": "/playstore-domains-delete-one/status",
"message": "Cascade delete job accepted."
}
Expected Responses¶
Status |
Meaning |
|---|---|
202 |
Cascade delete job accepted. Use |
200 |
Direct delete completed, or status endpoint returned the current job state. |
400 |
Missing primary key, missing |
404 |
Item or delete job not found. |
409 |
Delete blocked because child records exist and cascade was not requested. |
405 |
Wrong HTTP method. |
500 |
Unexpected delete error. |
Cloudflare Worker Behavior¶
Public clients call the Cloudflare URL only. The Worker forwards the request to AWS API Gateway and injects the internal AWS API key. Public examples must not include the AWS API key header.
Durable Cascade Notes¶
Cascade deletion uses a durable job with
delete_job_id.Child-record checks must be query-backed. Table scans are not allowed for cascade safety.
Large cascades continue through status polling instead of a single blocking request.