Create Project Upload
create_project_uploadCreates a Procore project upload, returning the URL and fields needed to post a file directly to storage. Requires a project ID and response filename to initiate the upload process.
Instructions
Creating an Upload is the first step in associating a file to a resource in Procore. Creating an Upload can be seen as fetching instruction on how to post your file directly to Procore's storage service. The instructions contain three properties: a UUID to reference the Upload, a URL which has to be used to post the file, and fields which need to be posted together with the file. To upload the file you must POST to the URL in the url property with a multipart/form-data body (see RFC 2388). Make sure to include all the names and values from fields without altering them. The URL and fields necessary to complete the upload may vary between companies and may also change over time so none of these may be hard-coded. Finally add a field named file with the actual file data. project_id defaults to the value set by procore_set_config when omitted. Creates the project upload and returns it with its new id (HTTP 201); calling it again creates another record. Failures come back as an error payload carrying the HTTP status — commonly 401 when the token has expired, 403 without tool permission, and 404 when an id does not resolve. Required parameters: project_id, response_filename. Procore API (v1.1): Core > File Access & Storage. Endpoint: POST /rest/v1.1/projects/{project_id}/uploads
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | JSON request body field — file size in bytes | |
| segments | No | JSON request body field — upload segments | |
| project_id | Yes | URL path parameter — unique identifier for the project. | |
| response_filename | Yes | JSON request body field — by setting a filename you ensure that the storage service knows the filename of the upload. Files are often downloaded directly from the storage service and without the filename they will save on t... | |
| response_content_type | No | JSON request body field — the content-type set through this parameter will be used by the storage service during download just like the response_filename. Setting this value is less important because HTTP clients and operat... | |
| attachment_content_disposition | No | JSON request body field — the content type set through this parameter will be used by the storage system during download, similar to the response_filename. When set to true, the file will be downloaded as an attachment. Oth... |