Delete Bulk Coordination Issues
/rest/v1.0/coordination_issues/bulk_deleteInspect fields and contractA Procore MCP connector in development for projects, RFIs, submittals and commercial records. Explore planned coverage and join the waitlist.
Construction
MCP XYZ is building an independent Procore MCP connector for teams that want an AI assistant to work with authorised construction project records through the Model Context Protocol. Planned coverage includes projects, RFIs, submittals, daily logs and commercial records. Access is waitlist-based while provider approval and live acceptance are pending.
Use the catalogue to check the operations and fields your work needs. If an existing connector is missing a useful action, tell us about it when joining the waitlist. Your software’s permissions and API limits still apply.
Planned access to projects, company information, people and project directories, within the connected account’s authorised permissions.
Inspect documented operationsInspect documented requests for information, submittals, drawing records and daily logs before choosing a project workflow.
Inspect documented operationsExplore documented commercial records, including change events, commitments and prime contracts. Live acceptance is still pending.
Inspect documented operations“Find the open RFIs for this project.”
New access starts with the Procore waitlist. Tell us which assistant you use and the work you want to do. We’ll contact you about relevant access updates; joining does not create an account or guarantee an invitation date.
Procore is in development. Live use requires an authorised developer app, installation in the relevant company, applicable provider approval and live acceptance.
The implemented connection paths support a developer-managed service account or user OAuth. Acceptance must confirm the account, region, permissions and intended agent use. The detailed catalogue tracks documented coverage; these workflows have not passed live business testing.
Production use needs the applicable Procore app and use-case approval. Procore’s Agentic APIs programme is a separate approved pilot. Ordinary REST credentials do not establish access to that pilot or approval for every agent or bulk-data use.
External presigned transfers, large uploads, some environments and provider-side token revocation have outstanding limits. A documented file operation does not mean a complete file workflow has been verified.
Procore API usage guidelines
Procore Agentic APIs guidance
Documented coverage
3,294 documented business operations across retained API versions. Open a contract to inspect its parameters, fields, sources and unresolved behaviour. No provider request is made here.
3,294 operations match. Showing 2961–2980.
/rest/v1.0/coordination_issues/bulk_deleteInspect fields and contract/rest/v1.0/coordination_issues/{coordination_issue_id}/assignmentsInspect fields and contract/rest/v1.0/coordination_issues/{coordination_issue_id}/procore_item_associationsInspect fields and contract/rest/v1.0/coordination_issues/listInspect fields and contract/rest/v1.0/coordination_issues/recycle_binInspect fields and contract/rest/v1.0/coordination_issuesInspect fields and contract/rest/v1.0/cost_codes/copy_from_standard_listInspect fields and contract/rest/v1.0/cost_codes/copy_subset_from_standard_listInspect fields and contract/rest/v1.0/cost_codesInspect fields and contract/rest/v1.0/custom_field_definitions/{custom_field_definition_id}/custom_field_lov_entries/bulk_createInspect fields and contract/rest/v1.0/departmentsInspect fields and contract/rest/v1.0/document_markup_downloadable_pdfs/find_or_createInspect fields and contract/rest/v1.1/drawing_areas/{drawing_area_id}/drawingsInspect fields and contract/rest/v1.0/electronic_signaturesInspect fields and contract/rest/v1.0/file_versionsInspect fields and contract/rest/v1.0/filesInspect fields and contract/rest/v1.0/financials/markupsInspect fields and contract/rest/v1.0/foldersInspect fields and contract/rest/v1.0/image_categoriesInspect fields and contract/rest/v1.0/imagesInspect fields and contractDocumented contract, live behaviour unverified
procore_post_files_v1_0Read the provider documentation
| Parameter | Required | Provider description |
|---|---|---|
project_id | Yes | Unique identifier for the project. |
reject_zero_byte_file | No | When true, an upload whose stored object is zero bytes is rejected instead of being saved. |
The exact retained JSON includes schemas, nested fields, notes, source evidence and unresolved questions. It is a documented contract, not a live response.
{
"id": "post_files_v1_0",
"name": "procore_post_files_v1_0",
"resourceId": "project-folders-and-files",
"description": "Create project File",
"method": "POST",
"path": "/rest/v1.0/files",
"version": "1.0",
"documentationUrl": "https://developers.procore.com/reference/rest/project-folders-and-files?version=1.0",
"readOnly": false,
"destructive": true,
"idempotent": false,
"deprecated": false,
"beta": false,
"canonical": true,
"pathParameters": [],
"queryParameters": [
{
"name": "project_id",
"in": "query",
"required": true,
"description": "Unique identifier for the project.",
"schema": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"x-mcp-original-type": "integer"
}
},
{
"name": "reject_zero_byte_file",
"in": "query",
"description": "When true, an upload whose stored object is zero bytes is rejected instead of being saved.",
"schema": {
"type": "boolean"
}
}
],
"requestBodySchema": {
"anyOf": [
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
},
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"data": {
"type": "object",
"required": [
"filename",
"dataBase64"
],
"additionalProperties": false,
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"contentType": {
"type": "string"
},
"dataBase64": {
"type": "string",
"description": "Base64-encoded file bytes. The platform input-size limit applies."
}
},
"description": "[DEPRECATED] File to use as file data. Please use upload_uuid instead. Note that it's only possible to post a file using a multipart/form-data body (see RFC 2388). Most HTTP libraries will do the right thing when you pass in an open file or IO stream. You should not use both data and upload_uuid fields in the same request."
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
}
]
},
"requestBodyRequired": true,
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Unique identifier for the project.",
"x-mcp-original-type": "integer"
},
"reject_zero_byte_file": {
"type": "boolean",
"description": "When true, an upload whose stored object is zero bytes is rejected instead of being saved."
}
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"required": [
"project_id"
]
},
"contentType": {
"type": "string",
"enum": [
"application/json",
"multipart/form-data"
],
"default": "application/json",
"description": "Request media type. Defaults to the documented JSON type when available."
},
"body": {
"anyOf": [
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
},
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"data": {
"type": "object",
"required": [
"filename",
"dataBase64"
],
"additionalProperties": false,
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"contentType": {
"type": "string"
},
"dataBase64": {
"type": "string",
"description": "Base64-encoded file bytes. The platform input-size limit applies."
}
},
"description": "[DEPRECATED] File to use as file data. Please use upload_uuid instead. Note that it's only possible to post a file using a multipart/form-data body (see RFC 2388). Most HTTP libraries will do the right thing when you pass in an open file or IO stream. You should not use both data and upload_uuid fields in the same request."
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
}
]
}
},
"required": [
"query",
"body"
],
"additionalProperties": false
},
"pagination": null,
"notes": [
"Create a new File in the specified Project."
],
"unresolved": [
"No authorised Procore provider request has verified this operation."
],
"request": {
"parameters": [
{
"name": "Procore-Company-Id",
"in": "header",
"description": "Unique company identifier associated with the Procore User Account.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_id",
"in": "query",
"required": true,
"description": "Unique identifier for the project.",
"schema": {
"type": "integer"
}
},
{
"name": "reject_zero_byte_file",
"in": "query",
"description": "When true, an upload whose stored object is zero bytes is rejected instead of being saved.",
"schema": {
"type": "boolean"
}
}
],
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
}
},
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "object",
"properties": {
"parent_id": {
"anyOf": [
{
"type": "integer",
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The ID of the parent folder to create the file in. If not set the file will be created under the root folder.",
"x-mcp-original-type": "integer"
},
"parent_path": {
"type": "object",
"description": "Target parent folder expressed as a path instead of `parent_id`. Folders along the path that do not exist yet are created, which requires permission to upload folders.",
"properties": {
"folder_id": {
"anyOf": [
{
"type": "integer",
"description": "Folder the path is resolved from. Defaults to the root folder.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Folder the path is resolved from. Defaults to the root folder.",
"x-mcp-original-type": "integer"
},
"path": {
"type": "string",
"description": "Slash-separated folder names."
},
"paths": {
"type": "array",
"description": "Folder names as separate segments. Takes precedence over `path`.",
"items": {
"type": "string"
}
}
}
},
"name": {
"type": "string",
"description": "The Name of the file"
},
"is_tracked": {
"type": "boolean",
"description": "When true, the requesting user is added as a watcher of the File.",
"default": false
},
"explicit_permissions": {
"type": "boolean",
"description": "When true, the File is given its own permission set instead of inheriting from its parent Folder."
},
"description": {
"type": "string",
"description": "A description of the file"
},
"data": {
"type": "object",
"required": [
"filename",
"dataBase64"
],
"additionalProperties": false,
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"contentType": {
"type": "string"
},
"dataBase64": {
"type": "string",
"description": "Base64-encoded file bytes. The platform input-size limit applies."
}
},
"description": "[DEPRECATED] File to use as file data. Please use upload_uuid instead. Note that it's only possible to post a file using a multipart/form-data body (see RFC 2388). Most HTTP libraries will do the right thing when you pass in an open file or IO stream. You should not use both data and upload_uuid fields in the same request."
},
"unique_name": {
"type": "boolean",
"description": "When true, the File is renamed automatically if the name is already taken in the target Folder; when false, a name-taken error is returned instead."
},
"upload_uuid": {
"type": "string",
"description": "UUID referencing a previously completed Upload. This is the recommended approach for file uploads. See Company Uploads or Project Uploads endpoints for instructions on how to use uploads. You should not use both data and upload_uuid fields in the same request."
},
"s3_key": {
"type": "string",
"description": "Key of an object already uploaded to storage, used in place of data or upload_uuid to supply the content."
},
"custom_field_%{custom_field_definition_id}": {
"description": "Value of the custom field. The data type of the value passed in corresponds with the data_type of the Custom Field Definition.\nFor a lov_entry data_type the value passed in should be the ID of one of the Custom Field Definition's LOV Entries. For a lov_entries data_type the value passed in should be an array of IDs of the Custom Field Definition's LOV Entries.",
"oneOf": [
{
"type": "string",
"title": "string"
},
{
"type": "number",
"title": "number"
},
{
"type": "boolean",
"title": "boolean"
},
{
"type": "array",
"title": "array",
"items": {
"type": "integer"
}
}
]
}
}
}
}
}
}
},
"defaultContentType": "application/json"
},
"responseContentTypes": [
"application/json"
],
"provenance": {
"sourceUrl": "https://developers.procore.com/api/v1/resource_groups/resource/project-folders-and-files?version=rest_v1.0",
"sourceSha256": "d4128c65763a6b986f0cf6c90912b300bf7b34b37759b5021873670980091d30",
"snapshot": "snapshots/oas/project-folders-and-files--rest_v1.0.json.gz"
},
"sourceCorrections": []
}The Unleashed waitlist is open. Inspect its documented coverage and account requirements.
Explore Unleashed