Upload a part of a file
The part's bytes (`application/octet-stream` with its Content-Length): every part but the last is exactly `partBytes` long. Parts go in any order; sending one again replaces it. Answers the part's ETag for `complete-upload`.
The part's bytes (application/octet-stream with its Content-Length): every part but the last is exactly partBytes long. Parts go in any order; sending one again replaces it. Answers the part's ETag for complete-upload.
apiKey writeAuthorizationBearer <token>A workspace API key (pf_…), created under Developers → API keys.
Scope: write
id*stringuuidpartNumber*integer1 <= value <= 100body*fileapplication/octet-streamUp to 16,777,216 bytes, with Content-Length
binaryOK
application/json- response
partNumber*integeretag*stringcurl -X PUT 'https://api.postforge.dev/v1/profile-imports/497f6eca-6276-4993-bfeb-53cbbbba6f08/parts/1' \ -H 'Content-Type: application/octet-stream' \ -d 'string'{ "partNumber": 0, "etag": "string"}Change a profile import’s settings PATCH
Before it starts. Changing the mapping, options or consent declaration clears the check. 422 `profile_import_mapping_incomplete` with what’s missing.
Finish uploading a file POST
Joins the uploaded parts (each with the ETag `upload-part` answered) and reads the first rows: the format, the columns with their first values and what they likely are. 422 `profile_import_unreadable` when the file can’t be read.