# Report

Generate signed URLs for uploading content reports (requires authentication).

## Get signed S3 upload URL 🔒

> Generate a pre-signed S3 URL for uploading content reports. \*\*Requires authentication.\*\*\
> \
> \*\*Use Case:\*\* Users can report inappropriate content or issues. This endpoint provides a secure\
> upload URL that expires after 60 seconds.\
> \
> \*\*Process:\*\*\
> 1\. Call this endpoint to get a signed URL\
> 2\. PUT your report JSON directly to the signed URL\
> 3\. Report is stored privately for moderation review\
> \
> \*\*Security:\*\* The signed URL is temporary and scoped to the authenticated user.<br>

```json
{"openapi":"3.0.3","info":{"title":"Decentraland Places API","version":"1.0.0"},"tags":[{"name":"Report","description":"Generate signed URLs for uploading content reports (requires authentication).\n"}],"servers":[{"url":"https://places.decentraland.org/api","description":"Production server"},{"url":"http://localhost:4000/api","description":"Development server"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Decentraland authentication token obtained from the Decentraland SDK or auth services.\n\nTo authenticate:\n1. Use Decentraland's authentication SDK in your application\n2. Get the auth token from the SDK\n3. Include in requests: `Authorization: Bearer <token>`\n"}}},"paths":{"/report":{"post":{"tags":["Report"],"summary":"Get signed S3 upload URL 🔒","description":"Generate a pre-signed S3 URL for uploading content reports. **Requires authentication.**\n\n**Use Case:** Users can report inappropriate content or issues. This endpoint provides a secure\nupload URL that expires after 60 seconds.\n\n**Process:**\n1. Call this endpoint to get a signed URL\n2. PUT your report JSON directly to the signed URL\n3. Report is stored privately for moderation review\n\n**Security:** The signed URL is temporary and scoped to the authenticated user.\n","operationId":"getReportSignedUrl","responses":{"200":{"description":"Signed URL generated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{"type":"object","properties":{"signed_url":{"type":"string","format":"uri","description":"Pre-signed S3 URL for PUT upload (expires in 60s)"}}}}}}}},"401":{"description":"Unauthorized - Missing or invalid authentication token","content":{"application/json":{"schema":{"type":"object","description":"Standard error response","properties":{"ok":{"type":"boolean","description":"Always false for errors"},"error":{"type":"string","description":"Human-readable error message"}}}}}}}}}}}
```
