Skip to content

docs: add company-level upload docs and verify project-level accuracy#354

Open
cynthiaxhe wants to merge 1 commit intomainfrom
cynthia/ppc2-7768-unified-uploads-company-level
Open

docs: add company-level upload docs and verify project-level accuracy#354
cynthiaxhe wants to merge 1 commit intomainfrom
cynthia/ppc2-7768-unified-uploads-company-level

Conversation

@cynthiaxhe
Copy link
Copy Markdown

@cynthiaxhe cynthiaxhe commented May 7, 2026

Summary

  • Adds company-level endpoints table and a full single-part upload example (POST → PUT → PATCH → GET)
  • Adds a differences table comparing project-level vs company-level uploads
  • Fixes several accuracy issues in the project-level documentation, verified against the file-upload-service codebase

Changes

New content

  • Company-level endpoints table (/rest/v2.1/companies/{company_id}/uploads)
  • Company-Level Uploads section with differences table and worked example

Accuracy fixes

  • Status values in highlights corrected: in_progress/completedready/receiving/complete/available
  • Status reference table expanded with all enum values: scanning, clean, infected, failed, expired
  • Status progression note added explaining completeavailable flow and upcoming malware scanning path
  • Removed total_parts from POST responses (field not present in the API response)
  • Segment size limits corrected: 100 MB → 100 MiB (104,857,600 bytes); minimum >5 MiB (5,242,881 bytes)

Closes PPC2-7768

Made with Cursor

@cynthiaxhe cynthiaxhe force-pushed the cynthia/ppc2-7768-unified-uploads-company-level branch 2 times, most recently from da1459c to d982ad6 Compare May 7, 2026 17:08
Comment thread tutorials/tutorial_unified_uploads.md Outdated
| `infected` | File failed malware scan; do not use |
| `available` | File is fully processed and available for use in Procore |
| `failed` | Upload processing failed |
| `expired` | Upload window elapsed before completion; file has been deleted |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since Unified Uploads does not support malware scan related status codes yet - I suggest going back to the status codes that are supported today

- `ready` — Upload created, waiting for file content
- `receiving` — Parts are being uploaded (partial ETags submitted)
- `complete` — All parts uploaded and ETags submitted
- `available` — File is fully processed and available for use in Procore

Comment thread tutorials/tutorial_unified_uploads.md Outdated
| `infected` | File failed malware scan; do not use |
| `available` | File is fully processed and available for use in Procore |
| `failed` | Upload processing failed |
| `expired` | Upload window elapsed before completion; file has been deleted |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @imeron-procore for future.

Comment thread tutorials/tutorial_unified_uploads.md Outdated
| `failed` | Upload processing failed |
| `expired` | Upload window elapsed before completion; file has been deleted |

> **Note:** After a successful PATCH, the upload status is `complete`. From there, the progression to `available` depends on whether malware scanning is enabled:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this new "NOTE" section because malware scan is not yet supported

@ajaykumarprocore ajaykumarprocore requested a review from a team May 7, 2026 17:30
@cynthiaxhe cynthiaxhe force-pushed the cynthia/ppc2-7768-unified-uploads-company-level branch 3 times, most recently from 4947a0f to fcf6f42 Compare May 7, 2026 18:58
- Add company-level endpoints table and single-part upload example
- Add differences table comparing project-level vs company-level
- Fix status values: correct in_progress/completed → ready/receiving/complete/available
- Expand status reference table with scanning, clean, infected, failed, expired
- Add status progression note explaining complete → available flow and upcoming malware scanning
- Remove total_parts from POST responses (field does not exist in API response)
- Fix segment size limits: 100 MB → 100 MiB (104,857,600 bytes), 5 MB min → >5 MiB (5,242,881 bytes)

Closes PPC2-7768

Co-authored-by: Cursor <cursoragent@cursor.com>
@cynthiaxhe cynthiaxhe force-pushed the cynthia/ppc2-7768-unified-uploads-company-level branch from fcf6f42 to 608685e Compare May 7, 2026 18:59
| [Create Upload](https://developers.procore.com/reference/rest/uploads?version=2.1#create-unified-upload-company) | POST | `/rest/v2.1/companies/{company_id}/uploads` |
| Upload File Content | PUT | Presigned URL returned in the `segments[].url` field of the POST response |
| [Complete Upload](https://developers.procore.com/reference/rest/uploads?version=2.1#complete-unified-upload-company) | PATCH | `/rest/v2.1/companies/{company_id}/uploads/{upload_id}` |
| [Get Upload Status](https://developers.procore.com/reference/rest/uploads?version=2.1#get-unified-upload-status-company) | GET | `/rest/v2.1/companies/{company_id}/uploads/{upload_id}` |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

| [Create Upload](https://developers.procore.com/reference/rest/uploads?version=2.1#create-unified-upload-company) | POST | `/rest/v2.1/companies/{company_id}/uploads` |
| Upload File Content | PUT | Presigned URL returned in the `segments[].url` field of the POST response |
| [Complete Upload](https://developers.procore.com/reference/rest/uploads?version=2.1#complete-unified-upload-company) | PATCH | `/rest/v2.1/companies/{company_id}/uploads/{upload_id}` |
| [Get Upload Status](https://developers.procore.com/reference/rest/uploads?version=2.1#get-unified-upload-status-company) | GET | `/rest/v2.1/companies/{company_id}/uploads/{upload_id}` |
Copy link
Copy Markdown
Contributor

@ajaykumarprocore ajaykumarprocore May 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants