Create installation request
/rest/v1.0/installation_requestsInspect 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 2981–3000.
/rest/v1.0/installation_requestsInspect fields and contract/rest/v1.0/line_item_typesInspect fields and contract/rest/v1.0/linksInspect fields and contract/rest/v1.0/locationsInspect fields and contract/rest/v1.0/meeting_attendee_recordsInspect fields and contract/rest/v1.0/meeting_categoriesInspect fields and contract/rest/v1.0/meeting_topicsInspect fields and contract/rest/v1.0/meetingsInspect fields and contract/rest/v1.0/nested_bim_view_folders/batchInspect fields and contract/rest/v1.0/nested_bim_view_foldersInspect fields and contract/rest/v1.0/observations/items/{id}/send_emailInspect fields and contract/rest/v1.0/observations/items/{item_id}/response_logsInspect fields and contract/rest/v1.0/observations/items/send_unsentInspect fields and contract/rest/v1.0/observations/itemsInspect fields and contract/rest/v1.0/officesInspect fields and contract/rest/v1.0/potential_change_orders/{potential_change_order_id}/line_itemsInspect fields and contract/rest/v1.0/potential_change_ordersInspect fields and contract/rest/v1.0/prime_contractInspect fields and contract/rest/v1.0/prime_contracts/{prime_contract_id}/payment_applicationsInspect fields and contract/rest/v1.0/prime_contracts/{prime_contract_id}/line_itemsInspect fields and contractDocumented contract, live behaviour unverified
procore_post_offices_v1_0Read the provider documentation
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_offices_v1_0",
"name": "procore_post_offices_v1_0",
"resourceId": "company-offices",
"description": "Create company office",
"method": "POST",
"path": "/rest/v1.0/offices",
"version": "1.0",
"documentationUrl": "https://developers.procore.com/reference/rest/company-offices?version=1.0",
"readOnly": false,
"destructive": true,
"idempotent": false,
"deprecated": false,
"beta": false,
"canonical": true,
"pathParameters": [],
"queryParameters": [],
"requestBodySchema": {
"anyOf": [
{
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo_prostore_file_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of an existing Prostore file to use as the office logo.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of an existing Prostore file to use as the office logo.",
"x-mcp-original-type": "integer"
}
}
}
}
},
{
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo": {
"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": "Office logo image file. Send the full payload as multipart/form-data with `office[logo]` as the file field."
}
}
}
}
}
]
},
"requestBodyRequired": true,
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "object",
"properties": {},
"additionalProperties": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"required": []
},
"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": [
{
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo_prostore_file_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of an existing Prostore file to use as the office logo.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of an existing Prostore file to use as the office logo.",
"x-mcp-original-type": "integer"
}
}
}
}
},
{
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo": {
"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": "Office logo image file. Send the full payload as multipart/form-data with `office[logo]` as the file field."
}
}
}
}
}
]
}
},
"required": [
"body"
],
"additionalProperties": false
},
"pagination": null,
"notes": [
"Creates an office associated with a company.\n\n#### Uploading logo\nTo upload an office logo you must upload whole payload as `multipart/form-data` content-type\nand specify each parameter as form-data together with `office[logo]` as file.\n\n#### Country and State codes\nThe `country_code` and `state_code` parameter values must conform to the ISO-3166 Alpha-2 specification.\nSee [Working with Country Codes](/documentation/country-codes) for additional information."
],
"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"
}
}
],
"content": {
"application/json": {
"schema": {
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo_prostore_file_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of an existing Prostore file to use as the office logo.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of an existing Prostore file to use as the office logo.",
"x-mcp-original-type": "integer"
}
}
}
}
}
},
"multipart/form-data": {
"schema": {
"title": "Body",
"type": "object",
"required": [
"company_id",
"office"
],
"properties": {
"company_id": {
"anyOf": [
{
"type": "integer",
"description": "ID of the company the office belongs to.",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "ID of the company the office belongs to.",
"x-mcp-original-type": "integer"
},
"office": {
"title": "Office",
"type": "object",
"description": "Office attributes to create or update.",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Display name of the office."
},
"address": {
"type": "string",
"description": "Street address of the office."
},
"city": {
"type": "string",
"description": "City of the office."
},
"state_code": {
"type": "string",
"description": "State or region code in ISO-3166 Alpha-2 format."
},
"country_code": {
"type": "string",
"description": "Country code in ISO-3166 Alpha-2 format."
},
"zip": {
"type": "string",
"description": "Postal or ZIP code of the office."
},
"phone": {
"type": "string",
"description": "Phone number of the office."
},
"fax": {
"type": "string",
"description": "Fax number of the office."
},
"division": {
"type": "string",
"description": "Business division associated with the office."
},
"logo": {
"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": "Office logo image file. Send the full payload as multipart/form-data with `office[logo]` as the file field."
}
}
}
}
}
}
},
"defaultContentType": "application/json"
},
"responseContentTypes": [
"application/json"
],
"provenance": {
"sourceUrl": "https://developers.procore.com/api/v1/resource_groups/resource/company-offices?version=rest_v1.0",
"sourceSha256": "b41a99b005c4c04c4677b43807fb1d2c25f0bfd38a07e4a9f57dea59fcca1f49",
"snapshot": "snapshots/oas/company-offices--rest_v1.0.json.gz"
},
"sourceCorrections": []
}The Unleashed waitlist is open. Inspect its documented coverage and account requirements.
Explore Unleashed