Uploads a file that can be attached to notes.
Usage Example
Upload a file (multipart/form-data):
POST /api/v1/files HTTP/1.1
Authorization: Bearer {token}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary...
------WebKitFormBoundary...
Content-Disposition: form-data; name="file"; filename="report.pdf"
Content-Type: application/pdf
[binary file content]
------WebKitFormBoundary...--
Response:
{
"id": "12345",
"fileName": "report.pdf",
"contentType": "application/pdf",
"contentLength": 245678,
"uploadedUtc": "2025-10-07T14:30:00Z",
"url": "/api/v1/files/12345"
}
Then attach to a note:
POST /api/v1/network/contacts/123/notes HTTP/1.1
Content-Type: application/json
{
"note": "Attached Q4 report for review",
"fileId": "12345"
}
File Restrictions
- Max size: 100MB
- Allowed types: PDF, images (PNG/JPG/GIF), Office documents, text files
- Naming: Original filename preserved, but stored with unique identifier
- Access: Files owned by authenticated user, accessible via note associations
Security Notes
- Files are scanned and validated before storage
- MIME type verification prevents malicious uploads
- Files stored with unique identifiers to prevent path traversal attacks
- Access control enforced on download
Body
required
application/x-www-form-urlencoded
The file to upload (multipart/form-data)
- Type: stringContent
Disposition - Type: stringContent
Type - Type: stringFile
Name - Type: objectHeaders
- Type: stringLength
Pattern: ^-?(?:0|[1-9]\d*)$Format: int64 - Type: stringName
Responses
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
Request Example for post/api/v1/files
curl https://app.propstreet.com/api/v1/files \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data-urlencode 'ContentType=' \
--data-urlencode 'ContentDisposition=' \
--data-urlencode 'Headers.additionalProperty=' \
--data-urlencode 'Length=' \
--data-urlencode 'Name=' \
--data-urlencode 'FileName='
{
"id": "string",
"fileName": "string",
"contentType": "string",
"contentLength": "string",
"uploadedUtc": "2026-04-20T01:14:09.577Z",
"url": "string"
}