Document Management Metadata Details

Document metadata is the foundation of how Procore Document Management (PDM) organizes, filters, and manages documents.
Document Metadata is a set of attributes that provide information about a document. Metadata can include file-level attributes (Type, Discipline, Number, Status) that describe what the document is, project/company attributes (Location, Trade, Area, etc.) that describe where and how the document applies, and other custom fields configured at the project level.

This reference describes the metadata structure returned by Document Upload and Document Revision API endpoints.



Overview of document metadata fields
{
  "id": "string",
  "fields": [
    {
      "id": "string",
      "name": "string",
      // One of: string, lov_entry, lov_entries, reference, rich_text, timestamp, numeric
      "type": "string",
      "values": [
        // For text-based types (string, rich_text, timestamp, numeric):
        { "label": "string" },

        // For lov_entry/lov_entries types:
        {
          "id": "string",
          "code": "string",
          "label": "string",
          "active": "boolean",
          "tags": ["string"]
        },
        
        // For reference type:
        { "id": "string", "code": "string", "label": "string" }
      ],
      // Optional - field subtype (e.g., computed, procore_user, procore_project)
      "variant": "string",
      "label_source": "string",
      // Optional - present when label_source is 'ML', range 0-1
      "confidence_score": 0.95,
      "label": "string",
      "description": "string"
    }
  ],
  "fileKey": "string",
  "file_locked": "boolean",
  "integrations": {
    "ml_processing": {
      "errors": [
        {
          "source": "string",
          "message": "string",
          "field_id": "string",
          "reason_code": "string"
        }
      ],
      "success": [
        {
          "source": "string",
          "field_id": "string"
        }
      ]
    },
    "bim_processing": {
      "bim_file_extraction_id": "string",
      "status": "string",
      "errors": []
    },
    "scraping_processing": {
      "errors": [
        {
          "source": "string",
          "message": "string",
          "field_id": "string",
          "reason_code": "string"
        }
      ],
      "success": [
        {
          "source": "string",
          "field_id": "string"
        }
      ]
    }
  },
  "match_criteria": "string",
  "upload_status": "string",
  "integration_statuses": {
    "ml": "string",
    "filename_scraping": "string",
    "integration_response": {
      "type_ml": {
        "value_id": "string",
        "value_name": "string"
      },
      "number_ml": {
        "value_id": "string",
        "value_name": "string"
      },
      "description_ml": {
        "value_id": "string",
        "value_name": "string"
      },
      "number_scraping": {
        "value_id": "string",
        "value_name": "string"
      },
      "date_authored_ml": {
        "value_id": "string",
        "value_name": "string"
      }
    }
  },
  "upload_requested_at": "string",
  "document_container_id": "string",
  "position_within_container": "string",
  "latest_event_id": "string",
  "download_url": "string",
  "upload_completed_at": "string"
}

Document Metadata Structure

Document metadata fields can be categorized based on how their values are set:

Editable via API - Fields that can be populated and updated by an integrator through PDM API endpoints.
System-Generated - Fields that are automatically populated by PDM and cannot be directly modified through API calls. These fields are provided in API responses for informational purposes.

Standard Metadata Fields

Standard fields available across all projects for document organization and classification. All fields in this table are editable via PDM API.

Name Type Description
authored_by reference The person who created the document. Defaults to uploader if not provided.
classification lov_entry Subtype of a document.
date_authored timestamp Date the document was created. Auto-populated from document content when detected, but can be edited via API.
description string A brief title for the document.
discipline lov_entry Discipline associated with the document.
document_stage lov_entry The associated stage of the document lifecycle.
file_locked boolean Whether the file is locked for editing. Can be toggled via API.
location reference Location associated with the document. Can be extracted from filename via naming standard, but can be edited via API.
name string Unique identifier for a document.
number string Numerical digits that are usually located at the end of a document’s name.
originator reference Name of the company that the person who created or uploaded the document is an employee of.
placeholder_assignee reference Assignee of the placeholder document.
placeholder_created_by reference User who created the placeholder. Defaults to the authenticated user at creation, but can be overridden via API.
placeholder_due_date timestamp Due date of the placeholder document.
project reference An abbreviation of the project’s name.
project_stage reference The construction stage associated with the document.
revision string Letter, number, or combination of letters and numbers that identifies a specific version of the document.
status lov_entry State of a document as it goes through a workflow.
type lov_entry The category of the document.
uploaded_by reference User who uploaded the document. Defaults to the authenticated user at creation, but can be overridden via API.
upload_status string Current status of the document: INCOMPLETE, COMPLETED, or PLACEHOLDER. Can be set explicitly via API or transitions automatically based on required field completion.
volume lov_entry Groups related documents together as needed.

While the following fields cannot be modified directly, they provide critical information about document state, workflow status, and lifecycle events.

System Fields

System-generated fields are automatically populated and cannot be directly modified via PDM API.

Name Type Description Lifecycle
action_required lov_entries Document error which requires action. Set when issues detected
created_at timestamp Timestamp when the document was created. Set at creation
document_container_id string Container ID where the document belongs, determined by metadata matching. Set after metadata evaluation
download_url string URL to download the file. Generated on request
file_size string Size of file in bytes. Set on file upload
file_key string File upload ID returned by the file upload API. Set on file upload
format string File format/type derived from MIME type. Set on file upload
id string Unique identifier assigned at upload creation. Use this ID for update operations. Set at creation
integration_statuses object Status of active integrations. Set at creation, updates during processing
integrations object Detailed integration information. Set at creation, updates during processing
item_content lov_entry Indicates whether the item is a Document or a Placeholder. Set at creation
latest_event_id string Event ID for optimistic concurrency control. Updated on each state change
match_criteria string Identifier generated based on naming standard and file format used for grouping documents into containers. Set at creation, updates on metadata change
original_filename string Original file name of a document at the time of upload. Set at creation
position_within_container string Sort position within the document container. Set when containerized
recycled_at timestamp Timestamp when the document was moved to the Recycle Bin. Set on recycling
recycled_by reference User who moved the document to the Recycle Bin. Set on recycling
recycled_reason string Reason the document was moved to the Recycle Bin. Set on recycling
submitted_into_drawings lov_entry Whether the document was submitted into the Drawings tool. Set when submitted to Drawings
submitted_into_drawings_at timestamp Timestamp when the document was submitted into the Drawings tool. Set when submitted to Drawings
submitted_into_drawings_by reference User who submitted the document into the Drawings tool. Set when submitted to Drawings
updated_at timestamp Timestamp when the upload was last updated. Updated on metadata change
updated_by reference User who last updated the document. Updated on metadata change
upload_completed_at timestamp Timestamp when upload processing completed. Set when upload completes
upload_requested_at timestamp Timestamp when the upload was originally requested/initiated. Set at upload creation
uploaded_at timestamp Timestamp when the file uploaded. Set on file upload completion
version string Autogenerated sequential version number that differentiates a document within a container. Set on revision creation

Placeholder Fields

Placeholder fields enable creation of document uploads for files that are expected to be delivered at a future date. These fields act as container for anticipated document information, such as name, type, due date, and the responsible party. Once the actual file is ready, it can be uploaded and linked to the corresponding placeholder. Editable placeholder fields (placeholder_assignee, placeholder_created_by, and placeholder_due_date) are listed in the Standard Metadata Fields section.

Workflow Fields

Workflow-controlled fields track document review and approval processes. These fields are managed by the workflow engine, but several can also be set directly via the Document Upload PATCH API. The table below indicates each field’s editability.

Note: While the API accepts values for editable workflow fields, setting them manually may conflict with the workflow engine’s own updates. Use caution when overriding workflow-managed values. In most integration scenarios, assigned_workflow is the only workflow field you need to set — the workflow engine populates the remaining fields automatically based on the configured workflow template.

Editable workflow fields:

Name Type Description Lifecycle
assigned_workflow reference Workflow that is selected and assigned for the document. Set when workflow assigned
workflow_assignees reference Assignee(s) responsible for responding to workflow steps. Set by workflow configuration
workflow_current_step string Current step in the workflow process. Updated as workflow progresses
workflow_current_step_assignees reference Assignee(s) currently responsible for responding to the workflow step. Set by workflow configuration
workflow_manager reference Person assigned as manager of the workflow template the document is in. Set when workflow initiated
workflow_pending_assignees reference User(s) whose responses are required before the workflow advances. Set by workflow configuration
workflow_status reference Current status of the workflow. Updated by workflow actions
workflow_step_due_date timestamp Due date for current workflow step. Set by workflow rules
workflow_template_version reference Version of the workflow template assigned. Set when workflow assigned

Read-only workflow fields (cannot be edited via API):

Name Type Description Lifecycle
in_active_workflow lov_entry Indicates whether the document is currently in an active workflow. Set when workflow starts/ends
workflow_completion_date timestamp Timestamp when a document reached an end step in the last workflow completed. Set when workflow completes

Custom Fields

Projects can define custom metadata fields specific to their organizational needs. Custom fields:

  • Are project-specific: Different projects may have different custom fields based on assigned fieldsets
  • Follow standard types: Use the same type system as standard fields
  • Appear in requirements: Can be marked as required in upload requirements
  • Integrate with naming standards: Some custom fields can be extracted from filenames
  • Support workflows: Can be used in workflow rules and permission groups

To retrieve available fields for a project (including custom fields), use the List Project Fields endpoint: The response includes both standard fields and project-level custom fields. A field is identified as a custom field when custom_field_definition_id is present in the response.

Field Type Reference

In the Document Uploads API response, each field object in the fields array includes a type property that determines its value format and structure.

Field Type Overview

Type Description
string Text values (UTF-8 encoded)
rich_text Text with optional markup
timestamp Date and time in ISO 8601 UTC format
numeric String-encoded numeric values - integers or decimals (e.g., “42”, “3.14”)
lov_entry Single selection from project-configured list of values
lov_entries Multiple selections from project-configured list of values
reference Link to another entity such as users, locations, or workflows

Field Value Structure in Responses

All metadata fields follow a consistent structure in Document Upload and Document Revision API responses:

{
  "id": "field_id",
  "name": "field_name",
  "type": "string|timestamp|lov_entry|reference|...",
  "label": "Display Name",
  "description": "Field description",
  "values": [
    // Value structure depends on type - see examples below
  ],
  "label_source": "MANUAL|SYSTEM|ML|FILENAME_SCRAPING|NONE|...",
  "variant": "optional - entity subtype for reference/lov fields",
  "confidence_score": 0.95  // Present only for ML-populated fields
}

Example Field Responses

String field:

{
  "name": "number",
  "type": "string",
  "values": [{"label": "A-101"}],
  "label_source": "FILENAME_SCRAPING"
}

List of Values (LOV) Fields
lov_entry and lov_entries fields represent dropdown options configured at the project level. When querying metadata, field values include:

  • id: The unique identifier for the value.
  • label: Human-readable display name
  • code: Short code identifier (optional, used for filename matching)
  • active: Whether this value is currently available for selection
  • tags: Special attributes used by ML and other integrations

lov_entry (single selection):

{
  "name": "type",
  "type": "lov_entry",
  "values": [{
    "id": "G3V1QMUWQ280JS5PIYN7HKH0G",
    "label": "Drawing",
    "code": "DWG",
    "active": true,
    "tags": ["ML:auto-detect.type.drawing"]
  }],
  "label_source": "ML",
  "confidence_score": 0.95
}

lov_entries (multiple selections):

{
  "name": "action_required",
  "type": "lov_entries",
  "values": [
    {
      "id": "UA438V8CXJCN5IR1D8ERQEG23",
      "label": "Missing Required Field",
      "code": "MISSING_FIELD",
      "active": true
    },
    {
      "id": "X53VE6ERY1KJIYPWD0WVS7N1C",
      "label": "Invalid Format",
      "code": "INVALID_FORMAT",
      "active": true
    }
  ],
  "label_source": "SYSTEM"
}

Reference field (user):

{
  "name": "uploaded_by",
  "type": "reference",
  "variant": "procore_user",
  "values": [{"id": "8972757", "label": "Jane Doe"}],
  "label_source": "SYSTEM"
}

Constructing the Fields Array for API Requests

When updating documents using the Document Uploads API PATCH request, you will pass your metadata values inside the fields array. This array acts as a map, linking a specific project field’s ID to the value you want to apply.

Because Procore supports diverse field types — ranging from open text to strict dropdown lists — the format of the value you provide depends on the field’s data type. For example, text fields accept literal strings, whereas List of Values (LOV) fields require you to pass specific Procore value ID(s).

Use the following structuring rules and reference table to correctly construct your fields array payloads.

Structuring Rules

  • Always wrap values in an array, even for single-value fields.

  • Lookup fields (lov_entry / lov_entries / reference, excluding user-type reference variants): You cannot supply your own values. For supported lookup types, you must first retrieve valid ID(s) from the field’s values endpoint, then pass the chosen ID(s) in the values array.

    • Note (user-type reference variants): The values endpoint does not return data for reference fields with a user-type variant (procore_user, procore_tool_user, or procore_users) — e.g., authored_by, uploaded_by, placeholder_assignee, placeholder_created_by. For these fields, the List Project Users endpoint is the primary lookup source for valid user IDs; the field values endpoint cannot be used. See Step 3: Fetch Values for Dropdown Fields for details and workaround instructions.
  • For lov_entries multi-select: Pass multiple value IDs inside the single values array, e.g., "values": ["ID_1", "ID_2"].
  • Direct fields (string / rich_text / numeric / timestamp): Pass your values directly — no ID lookup required.

Field Value Payload Examples

LOOKUP FIELDS — retrieve valid IDs prior to PATCH request

Field Type From: List Fields From: List Field Values Fields Array Entry Example
lov_entry (single select) { "id": "01JDXMPK09...", "name": "type", "type": "lov_entry" } { "id": "01JDXMPK0H...", "code": "DRW", "label": "Drawing" } { "id": "01JDXMPK09...", "values": ["01JDXMPK0H..."] }
lov_entries (multi-select) { "id": "01JDXMPK0K...", "name": "disciplines", "type": "lov_entries" } { "id": "01JDXMPK0H...", "label": "Structural" }, { "id": "01JDXMPK0I...", "label": "Electrical" } { "id": "01JDXMPK0K...", "values": ["01JDXMPK0H...", "01JDXMPK0I..."] }
reference (entity link) { "id": "01JDXMPK07...", "name": "location", "type": "reference" } { "id": "120667", "label": "Alderaan", "code": "__", "active": true, "tags": [] } { "id": "01JDXMPK07...", "values": ["120667"] }

DIRECT FIELDS — pass literal values directly (no ID lookup required)

Field Type From: List Fields From: List Field Values Fields Array Entry Example
string { "id": "01JDXMPK0B...", "name": "revision", "type": "string" } { "id": "01JDXMPK0B...", "values": ["Rev A"] }
rich_text { "id": "01JDXMPK0Z...", "name": "description", "type": "rich_text" } { "id": "01JDXMPK0Z...", "values": ["<p>Design review notes</p>"] }
numeric { "id": "01JDXMPK0C...", "name": "page_count", "type": "numeric" } { "id": "01JDXMPK0C...", "values": ["42"] }
timestamp { "id": "01JDXMPK06...", "name": "date_authored", "type": "timestamp" } { "id": "01JDXMPK06...", "values": ["2025-12-15T14:30:00Z"] }

Querying Project Fields

To identify which fields are configured for a specific project, query the List Project Fields endpoint.

Metadata Population Sources

Metadata can be populated through several automated and manual mechanisms:

  • Naming Standards: Project administrators can configure filename patterns to automatically extract metadata values. For details on naming standard configuration, see Procore Support: Edit the Naming Standard for the Document Management Tool.
  • Machine Learning (ML): For PDF files containing drawings or specifications, ML automatically processes and predicts field values.
  • Manual Input: When you provide field values via API, those values override both naming standard extraction and ML predictions.

Each field’s label_source property in API responses indicates how the value was populated.

Understanding Field Value Sources

When metadata is populated in Document Management, each field includes a label_source property indicating how the value was populated:

Source Description User-Overrideable?
MANUAL Value was explicitly set by a user or API client Yes - can be changed
NONE Field has no source recorded or was never populated Yes - can be set
FILENAME_SCRAPING Value extracted from the document filename via naming standard Yes - manual values override
SCRAPING_FAILED Filename scraping was attempted but failed for this field Yes - can be set manually
ML Value populated by Machine Learning analysis Yes - manual values override
ML_FAILED ML analysis was attempted but failed for this field Yes - can be set manually
SYSTEM Value set by Document Management system automatically No - system fields cannot be modified

Confidence Scores (0.0 to 1.0) indicate how confident ML-based predictions are. Only present for label_source: "ML"; absent for other sources.

Example: Field Value Sources in Practice

Here’s how a single upload response might display different value sources:

{
  "fields": [
    {
      "name": "type",
      "values": [{"id": "drawing_type_id", "label": "Drawing"}],
      "label_source": "ML",
      "confidence_score": 0.95
    },
    {
      "name": "discipline",
      "values": [{"id": "arch_id", "label": "Architectural"}],
      "label_source": "FILENAME_SCRAPING"
    },
    {
      "name": "number",
      "values": [{"label": "A-101"}],
      "label_source": "MANUAL"
    },
    {
      "name": "revision",
      "values": [],
      "label_source": "SCRAPING_FAILED"
    },
    {
      "name": "created_at",
      "values": [{"label": "2026-01-23T21:09:04.662Z"}],
      "label_source": "SYSTEM"
    }
  ]
}

ML and Integration Processing

Integration Status Monitoring

When a Document Upload is returned, it includes integration_statuses indicating the state of automated processing:

{
  "integration_statuses": {
    "ml": "in_progress", // One of: in_progress, completed, error, not_applicable
    "filename_scraping": "in_progress" // One of: in_progress, completed, error, not_applicable
  }
}

Before submitting a Document Upload as a Document Revision, verify that integrations have completed: check that integration_statuses.ml and integration_statuses.filename_scraping (if applicable) have transitioned to either completed, error, or not_applicable.

BIM Processing Integration

Document Management can process 3D model files (BIM/Building Information Models) to extract structured data. Check integrations.bim_processing for BIM processing state:

{
  "bim_processing": {
    "bim_file_extraction_id": "string or null",
    "status": "not_applicable", // One of: not_applicable, not_started, pending, in_progress, ready, error
    "errors": []
  }
}

Click to view an example of Document Upload API response
{
  "id": "31OZMQFW8L1T82WOY8G7WH8TL",
  "fields": [
    {
      "id": "MG8XE61LVYN2UKFYBQXSVI4F3",
      "name": "updated_at",
      "type": "timestamp",
      "values": [ { "label": "2000-01-01T00:00:00.000Z" } ],
      "label_source": "SYSTEM",
      "label": "Date Updated",
      "description": "The date and time the document was last updated"
    },
    {
      "id": "FJI8TLPTERNJIQT6LF3W8MB0Z",
      "name": "uploaded_at",
      "type": "timestamp",
      "values": [ { "label": "2000-01-01T00:00:00.000Z" } ],
      "label_source": "SYSTEM",
      "label": "Date Uploaded",
      "description": "The date and time the document was uploaded to Procore"
    },
    {
      "id": "NFQRRFRI2WXQNDKM8MHFG2FC6",
      "name": "in_active_workflow",
      "type": "lov_entry",
      "values": [ { "id": "TYRCJ5TIQ7ER8WGJXZMOIK9W5", "code": "", "tags": [], "label": "No", "active": true } ],
      "label_source": "SYSTEM",
      "label": "In Active Workflow",
      "description": "Indicates if the document is currently in an active workflow"
    },
    {
      "id": "O1QROZV3IXNPAH2PJ72A4FK9B",
      "name": "uploaded_by",
      "type": "reference",
      "values": [ { "id": "8972757", "code": "", "label": "Jane Doe" } ],
      "variant": "procore_user",
      "label_source": "SYSTEM",
      "label": "Uploaded By",
      "description": "The person who uploaded the document to Procore"
    },
    {
      "id": "LY9NVSGHOK9OF0TQP5SXS7SNI",
      "name": "file_size",
      "type": "string",
      "values": [ { "label": "405475" } ],
      "label_source": "SYSTEM",
      "label": "Size",
      "description": "The amount of storage or space the document uses"
    },
    {
      "id": "4GZVLETC6T4ESGXW6ZYOX1FV5",
      "name": "classification",
      "type": "lov_entry",
      "values": [],
      "label_source": "NONE",
      "label": "Level",
      "description": "The level of a building or structure"
    },
    {
      "id": "58IC8WRCV30EE1URJHN19TNY1",
      "name": "workflow_step_due_date",
      "type": "timestamp",
      "values": [],
      "label_source": "NONE",
      "label": "Workflow Step Due",
      "description": "The due date for the current workflow step to be completed"
    },
    {
      "id": "64Q03PT52MF8LOWIZ7QKBVGWT",
      "name": "date_authored",
      "type": "timestamp",
      "values": [],
      "label_source": "ML_FAILED",
      "confidence_score": 0,
      "label": "Date Authored",
      "description": "The date the document was authored"
    },
    {
      "id": "GT6JHAY20I1B8EU8W8OD79ZE7",
      "name": "originator",
      "type": "reference",
      "values": [],
      "variant": "procore_vendor",
      "label_source": "SYSTEM",
      "label": "Originator",
      "description": "The company that employs the author of a document "
    },
    {
      "id": "TYDBJ9O0KI190ATV1DLMQ2NLZ",
      "name": "workflow_current_step",
      "type": "string",
      "values": [],
      "label_source": "NONE",
      "label": "Current Workflow Step",
      "description": "The Step in the workflow in which the document is currently at"
    },
    {
      "id": "ZCSWZJS8VLG7CQXU8ECGGGG2Y",
      "name": "discipline",
      "type": "lov_entry",
      "values": [],
      "label_source": "SCRAPING_FAILED",
      "label": "Discipline",
      "description": "The discipline associated with this document like architectural, electrical, etc."
    },
    {
      "id": "15WXIWB104E2ZO7O7UBZM55RK",
      "name": "created_at",
      "type": "timestamp",
      "values": [ { "label": "2026-01-14T20:10:05.754Z" } ],
      "label_source": "SYSTEM",
      "label": "Created At",
      "description": "The date the document was created"
    },
    {
      "id": "IUEO5LXJU0MQUK5JA8BYDXUVC",
      "name": "project_stage",
      "type": "reference",
      "values": [],
      "variant": "procore_project_stage",
      "label_source": "NONE",
      "label": "Project Stage",
      "description": "The construction stage associated with the document. Formerly known as Stage."
    },
    {
      "id": "VPGW834ONMDD9BY5SRJYAJJVS",
      "name": "location",
      "type": "reference",
      "values": [],
      "variant": "procore_location",
      "label_source": "NONE",
      "label": "Location",
      "description": "Locations associated with the document pulled from Project Locations"
    },
    {
      "id": "NQ7KXAVMU8D7WLGGC230SX51Y",
      "name": "revision",
      "type": "string",
      "values": [ { "label": "1" } ],
      "label_source": "MANUAL",
      "label": "Revision",
      "description": "A printed identification number, letter, or a combination on a document, which may include special characters like hyphens. Mostly used on Drawings and specifications."
    },
    {
      "id": "AI1SJGE010FDKTMITHTS3CRIE",
      "name": "number",
      "type": "string",
      "values": [ { "label": "I" } ],
      "label_source": "FILENAME_SCRAPING",
      "label": "Number",
      "description": "The numerical digits usually located at the end of a document's name"
    },
    {
      "id": "18BXQ6CNKMP508FGW1HXIWHY1",
      "name": "authored_by",
      "type": "reference",
      "values": [ { "id": "8972757", "code": "", "label": "Jane Doe" } ],
      "variant": "procore_user",
      "label_source": "SYSTEM",
      "label": "Authored By",
      "description": "The person who created the document"
    },
    {
      "id": "9ADT5C4E6NH1WV8QG3CN8P2GP",
      "name": "updated_by",
      "type": "reference",
      "values": [ { "id": "9168335", "code": "", "label": "John Doe" } ],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Updated By",
      "description": "The person who last updated the document"
    },
    {
      "id": "QIZQQ34RPJJ9GRG423CVSGQDP",
      "name": "assigned_workflow",
      "type": "reference",
      "values": [ { "id": "90482", "code": "", "label": "Another Workflow" } ],
      "variant": "procore_workflow_template_preset",
      "label_source": "MANUAL",
      "label": "Assigned Workflow",
      "description": "The workflow that's selected and in progress for the document"
    },
    {
      "id": "9E6JMUTKDTWFPIIXCQUGB99BP",
      "name": "original_filename",
      "type": "string",
      "values": [ { "label": "TEST4-SP-I-17.pdf" } ],
      "label_source": "SYSTEM",
      "label": "File",
      "description": "The original file name of a document at the time of upload"
    },
    {
      "id": "U7E3CZW8N2IBQ50EHX8SP2F72",
      "name": "status",
      "type": "lov_entry",
      "values": [],
      "label_source": "NONE",
      "label": "Status",
      "description": "The state of a document as it goes through approval, rejection, etc."
    },
    {
      "id": "IKVS7H25PSF3VYD4ZXCRZQNBC",
      "name": "project",
      "type": "reference",
      "values": [ { "id": "2357041", "code": "TEST4", "label": "E2E Testing 1" } ],
      "variant": "procore_project",
      "label_source": "SYSTEM",
      "label": "Project",
      "description": "An abbreviation of a project's name pulled from the Project Admin tool (Project Code)"
    },
    {
      "id": "7T4FRFO5D2X3JH6XPNE2PYOHW",
      "name": "workflow_assignees",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Workflow Assignees",
      "description": "All assignees responsible for responding to workflow steps"
    },
    {
      "id": "HGUGVJRTP3BXTD3JVI900NCGY",
      "name": "description",
      "type": "rich_text",
      "values": [ { "label": "MECHANICAL PIPE SCHEDULE" } ],
      "label_source": "ML",
      "confidence_score": 0.9999712657370914,
      "label": "Description",
      "description": "A brief title for the document"
    },
    {
      "id": "4K1NAV6MC5LLE211F06ICTBJX",
      "name": "name",
      "type": "string",
      "values": [ { "label": "TEST4-SP-I-17" } ],
      "variant": "computed",
      "label_source": "SYSTEM",
      "label": "Name",
      "description": "A document's unique identifier that can also be configured with a project's requirements"
    },
    {
      "id": "CWGGXADX0Y8R4KVCS4E7W4MZ1",
      "name": "volume",
      "type": "lov_entry",
      "values": [],
      "label_source": "NONE",
      "label": "Volume / System",
      "description": "A complete set of equipment that works together for one role or purpose like a solar-electric system"
    },
    {
      "id": "LRJLVME5FNY5DVU2XO52RBKGQ",
      "name": "workflow_manager",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Workflow Manager",
      "description": "The person assigned as the manager of the workflow template in which the document is"
    },
    {
      "id": "DMUML7IYWGC4T7UCGCFH477NN",
      "name": "workflow_current_step_assignees",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Current Step Assignees",
      "description": "The assignee(s) who is currently responsible for responding to the workflow step"
    },
    {
      "id": "52171P4U231QGCNQM1C7BLDO7",
      "name": "type",
      "type": "lov_entry",
      "values": [ { "id": "QQZ6KDZONTRIQQZUR9E7WES29", "code": "SP", "label": "Specification" } ],
      "label_source": "MANUAL",
      "label": "Type",
      "description": "The different categories of documents like drawings, specifications, or models"
    },
    {
      "id": "BVDPYGSC97Q5EKSV7N05G0WRP",
      "name": "workflow_status",
      "type": "reference",
      "values": [],
      "variant": "procore_workflow_status",
      "label_source": "NONE",
      "label": "Workflow Status",
      "description": "The status of the workflow such as processing, blocked, or complete"
    },
    {
      "id": "K01MXXPC0WPHMQU3KR0R9CC3B",
      "name": "format",
      "type": "lov_entry",
      "values": [ { "id": "BXKQOXKCOBDSD4AEE9SYLITTZ", "code": "application/pdf", "tags": [ "document-service:extension.pdf" ], "label": "PDF", "active": true } ],
      "label_source": "SYSTEM",
      "label": "Format",
      "description": "The file's extension type like EXCEL, PDF, etc."
    },
    {
      "id": "RMOAYBE6GS0WQXOWFJPE9IIHS",
      "name": "workflow_template_version",
      "type": "reference",
      "values": [],
      "variant": "procore_workflow_template_version",
      "label_source": "NONE",
      "label": "Workflow Template Version",
      "description": "The assigned version of the workflow template as one template may have different versions"
    },
    {
      "id": "GSO8UCN9L69UGF77U92WYJ7KZ",
      "name": "workflow_pending_assignees",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Pending Assignees",
      "description": "User(s) who must respond before the workflow moves to the next step"
    },
    {
      "id": "GGXB7EVUK46Y42GM2VUL2CM8V",
      "name": "version",
      "type": "string",
      "values": [],
      "label_source": "SYSTEM",
      "label": "Version",
      "description": "Sequential numbers autogenerated by Procore to differentiate every document iteration submitted. This field is not editable."
    },
    {
      "id": "TGQ4R3LJLAW8NRA73PRMUODJJ",
      "name": "submitted_into_drawings_by",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Submitted to Drawings Tool By",
      "description": "The person who submitted the document into the Drawings tool"
    },
    {
      "id": "WQIBTVNUMBAAZJTIUYS4FTB87",
      "name": "submitted_into_drawings_at",
      "type": "timestamp",
      "values": [],
      "label_source": "NONE",
      "label": "Submitted to Drawings Tool At",
      "description": "The date and time the document was last submitted into the Drawings tool"
    },
    {
      "id": "KS64S7K1MVOW36GM9DGYXME3B",
      "name": "submitted_into_drawings",
      "type": "lov_entry",
      "values": [ { "id": "01JCGGCHGBYW7G9VNWAB61NPK1", "code": "", "tags": [], "label": "No", "active": true } ],
      "label_source": "SYSTEM",
      "label": "Submitted to Drawings Tool",
      "description": "Indicates if the document has been submitted into Drawings tool"
    },
    {
      "id": "LSCNFDDRU1KYDFIZK3L4PHN1S",
      "name": "workflow_completion_date",
      "type": "timestamp",
      "values": [],
      "label_source": "NONE",
      "label": "Workflow Completion Date",
      "description": "The date and time when a document has reached an end step in the last workflow it completed."
    },
    {
      "id": "EMN5K7H0J261EFCFI7VAB66OX",
      "name": "custom_field_123",
      "type": "reference",
      "values": [],
      "variant": "with_code",
      "label_source": "NONE",
      "label": "PDM Custom Field",
      "description": "-"
    },
    {
      "id": "DQ7EITBYC3RFODDTLMW2ND6LG",
      "name": "recycled_by",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Deleted By",
      "description": "The person who moved the document to the Recycle Bin"
    },
    {
      "id": "1JTFK2R6MXZVOSF2GNS15HLNA",
      "name": "recycled_at",
      "type": "timestamp",
      "values": [],
      "label_source": "NONE",
      "label": "Deleted On",
      "description": "The date and time the document was moved to the Recycle Bin"
    },
    {
      "id": "4016TXN1O519P83TIU0QYXPPJ",
      "name": "recycled_reason",
      "type": "string",
      "values": [],
      "label_source": "NONE",
      "label": "Reason for Deletion",
      "description": "The reason the document was moved to the Recycle Bin"
    },
    {
      "id": "6RAV5MTW6RGA8O68S2DFA6C6D",
      "name": "document_stage",
      "type": "lov_entry",
      "values": [],
      "label_source": "NONE",
      "label": "Document Stage",
      "description": "The associated stage of the document lifecycle"
    },
    {
      "id": "PBFEZZKTY0MVNX8511L5C6HSA",
      "name": "action_required",
      "type": "lov_entries",
      "values": [],
      "label_source": "NONE",
      "label": "Action Required",
      "description": "The document error which requires action"
    },
    {
      "id": "V362W72BAZ5Z8YOQ1C9543T7Z",
      "name": "placeholder_assignee",
      "type": "reference",
      "values": [],
      "variant": "procore_user",
      "label_source": "NONE",
      "label": "Placeholder Assignee",
      "description": "The assignee of the placeholder"
    },
    {
      "id": "YQG4KDNVZM7P5R2SJ11KC2UJ1",
      "name": "placeholder_due_date",
      "type": "timestamp",
      "values": [],
      "label_source": "NONE",
      "label": "Placeholder Due Date",
      "description": "The due date of the placeholder"
    },
    {
      "id": "AFFEDVZU6TTQZB6I3PHIG8R5G",
      "name": "item_content",
      "type": "lov_entry",
      "values": [ { "id": "Document", "label": "Document" } ],
      "label_source": "SYSTEM",
      "label": "Item Content",
      "description": "Whether the item is a Document or a Placeholder"
    }
  ],
  "file_key": "KTCLW72UX53NJS3CAW0HKC6Y1",
  "file_locked": false,
  "integrations": {
    "ml_processing": {
      "errors": [
        {
          "source": "revision",
          "message": "Automatic detection failed. Please enter value manually.",
          "field_id": "QNSTE3BC36F5WW9IY7N2D5OS0",
          "reason_code": "LOW_CONFIDENCE"
        },
        {
          "source": "date_authored",
          "message": "Automatic detection failed. Please enter value manually.",
          "field_id": "VBTZVW98L2QAZ7DBVGNMG398G",
          "reason_code": "LOW_CONFIDENCE"
        }
      ],
      "success": [
        {
          "source": "type",
          "field_id": "ZOR1ZWTJ3MHTT0TRTQ9VYBMYE"
        },
        {
          "source": "description",
          "field_id": "EJ8C9OWGNCPVYQGWYFFXQVRUH"
        },
        {
          "source": "number",
          "field_id": "UVD3PUHFKB6TBNOHQ2DQRKNL9"
        }
      ]
    },
    "bim_processing": {
        "errors": [],
        "status": "not_applicable",
        "bim_file_extraction_id": null
    },
    "scraping_processing": {
      "errors": [
        {
          "source": "File Format",
          "message": "File name is incomplete. Add the missing attribute, or rename and reupload the file.",
          "field_id": "01HKMVPPTHNT7BFZTXQMBXH243",
          "reason_code": "FILENAME_NOT_CONTAINS_CODE"
        },
        {
          "source": "Location",
          "message": "File name is incomplete. Add the missing attribute, or rename and reupload the file.",
          "field_id": "01GR1YE66XAJ28RE3G269PDEPW",
          "reason_code": "FILENAME_NOT_CONTAINS_CODE"
        },
        {
          "source": "Number",
          "message": "File name is incomplete. Add the missing attribute, or rename and reupload the file.",
          "field_id": "01GR1YE6FZ7T1P06055VRTY365",
          "reason_code": "FILENAME_NOT_CONTAINS_CODE"
        },
        {
          "source": "Originator",
          "message": "File name is incomplete. Add the missing attribute, or rename and reupload the file.",
          "field_id": "01GR1YE66XN52RKZK0Z7YE64AT",
          "reason_code": "FILENAME_NOT_CONTAINS_CODE"
        },
        {
          "source": "Project",
          "message": "File name is incomplete. Add the missing attribute, or rename and reupload the file.",
          "field_id": "01GR1YE66XZR3NT0317AKE5NK7",
          "reason_code": "FILENAME_NOT_CONTAINS_CODE"
        }
      ],
      "success": [
        {
          "source": "Description",
          "field_id": "01GR1YE5XMTKCPM8SPW68Z1E4T"
        }
      ]
    }
  },
  "match_criteria": "TEST4-SP-I-17|application/pdf",
  "upload_status": "COMPLETED",
  "integration_statuses": {
      "ml": "completed",
      "filename_scraping": "completed",
      "integration_response": {
          "type_ml": {
              "value_id": "YU0H5NUOLP7TA1VLNBQAZIHMG",
              "value_name": "Drawing"
          },
          "number_ml": {
              "value_id": "MP000",
              "value_name": "MP000"
          },
          "description_ml": {
              "value_id": "MECHANICAL PIPE SCHEDULE",
              "value_name": "MECHANICAL PIPE SCHEDULE"
          },
          "number_scraping": {
              "value_id": "I",
              "value_name": "I"
          },
          "date_authored_ml": {
            "value_id": "2000-01-01T00:00:00.000Z",
            "value_name": "2000-01-01T00:00:00.000Z"
          }
      }
  },
  "upload_requested_at": "2000-01-01T00:00:00.000Z",
  "document_container_id": null,
  "position_within_container": "aaa....",
  "latest_event_id": "01KMK7NJXX9A3JE83QYZEZTEHM",
  "download_url": "https://app.procore.com/rest/v1.0/companies/0/projects/0/collaborative_documents/document_uploads/31OZMQFW8L1T82WOY8G7WH8TL/download",
  "upload_completed_at": "2000-01-01T00:00:01.000Z"
}

See Also

Was this page helpful? Thanks for your feedback!