Skip to content

DOCINT-1837: Document uploader_tool_name and fix upload status values#365

Merged
yoasyo25 merged 1 commit into
mainfrom
ya/DOCINT-1837/uploader-tool-name
Jul 16, 2026
Merged

DOCINT-1837: Document uploader_tool_name and fix upload status values#365
yoasyo25 merged 1 commit into
mainfrom
ya/DOCINT-1837/uploader-tool-name

Conversation

@yoasyo25

@yoasyo25 yoasyo25 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Jira

DOCINT-1837

Type of Change

  • Docs

Summary

Updates the Unified File Uploads tutorial to document the new uploader_tool_name field and to correct the upload status table, which was missing statuses that already shipped in the FUS API (scanning, failed) and listed a stale value (complete) as a GET-returned status.

Motivation

The Unified File Uploads tutorial is being made publicly available and the tutorial should reflect upcoming/recently-shipped contract details: the new uploader_tool_name field, and the real status vocabulary already returned by the GET status endpoint (malware-scan states were shipped but not yet fully documented).

Changes

uploader_tool_name field

  • Added "uploader_tool_name": "document_management" to all POST /uploads request/response examples (project-level single-part, project-level multi-part, company-level) and to the GET status response examples.
  • Added a plain-prose note explaining the field: optional today, 64-character limit, expected to become required in a future release.
  • Added a "Coming Soon" bullet noting the field will move from optional to required.

Upload status accuracy

  • Fixed the "Key New Feature Highlights" status list: was ready, receiving, complete, available, now ready, receiving, scanning, available, failed (matches the FUS UploadGetResponse schema's allowableValues).
  • Fixed the status table: added the previously undocumented scanning and failed statuses, clarified that complete is a PATCH-response-only value that the GET endpoint always resolves into one of the other statuses.
  • Added a documented error object example ({type: "scan_failure", message: ...}) returned when a failed status is due to a malware-scan rejection.
  • Added a note to "Important Considerations" explaining the scanning → available/failed lifecycle, including the case where scanning is not enabled (straight receivingavailable).
  • Updated the "Coming Soon" section to reflect that malware scanning already exists but isn't yet applied to all uploads, and added two new forward-looking items: file-extension allow-list and content-type validation.

Validation

  • Content verified against file-upload-service (FUS) mainapi_docs/open-api.json, UploadStatusMapper.java, UploadGetResponse.java, CreateUploadRequest.java, UploadStatus/MalwareScanStatus enums
  • Cross-referenced Jira DOCINT-1837 (this ticket) and PPC2-9064 (FUS analytics epic) for product intent
  • Rendered locally via Jekyll (bundle exec jekyll serve)

Testing Instructions

  1. Check out this branch and run bundle exec jekyll serve in the documentation repo.
  2. Visit http://127.0.0.1:4000/documentation/tutorial-unified-file-uploads.
  3. Confirm the new uploader_tool_name field appears in all request/response code samples and the status table renders correctly with the scanning/failed rows and the new error object example.

Additional Context

Known, deliberate discrepancy (not a bug): PPC2-9064 (FUS analytics epic, in progress) states as an acceptance criterion that uploader_tool_name is additive-only and will never become required. This tutorial's "will become required in a future release" wording and matching "Coming Soon" bullet knowingly diverge from that epic's current text, per an explicit product-messaging decision made in Slack. Flagging here so reviewers aren't surprised if they cross-reference the epic.


…tus values

Add uploader_tool_name to the request and response examples, correct the
status table (add scanning/failed, scope complete to PATCH), and note
upcoming API changes in Coming Soon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@yoasyo25 yoasyo25 force-pushed the ya/DOCINT-1837/uploader-tool-name branch from b4bfa05 to f728a82 Compare July 16, 2026 14:47

```
The `uploader_tool_name` field identifies the Procore tool initiating the upload (for example, `document_management`), and is limited to 64 characters.
It is currently optional but will become required in a future release, so we recommend including it now.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@ajaykumarprocore can you confirm that this will become required in the future?

@ajaykumarprocore ajaykumarprocore Jul 16, 2026

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.

Yes - this will become required in the future - the wording is accurate. Thank you!!

@yoasyo25 yoasyo25 marked this pull request as ready for review July 16, 2026 14:49
@yoasyo25 yoasyo25 merged commit c0c5766 into main Jul 16, 2026
3 checks passed
@yoasyo25 yoasyo25 deleted the ya/DOCINT-1837/uploader-tool-name branch July 16, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants