Create Requisition (Subcontractor Invoices) for Commitment
/rest/v1.0/requisitionsInspect 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 3201–3220.
/rest/v1.0/requisitionsInspect fields and contract/rest/v1.1/requisitionsInspect fields and contract/rest/v1.0/resourcesInspect fields and contract/rest/v1.0/rfqs/{rfq_id}/quotesInspect fields and contract/rest/v1.0/rfqs/{rfq_id}/responsesInspect fields and contract/rest/v1.0/rfqsInspect fields and contract/rest/v1.0/specification_section_divisionsInspect fields and contract/rest/v1.0/specification_sectionsInspect fields and contract/rest/v1.0/standard_cost_code_listsInspect fields and contract/rest/v1.0/standard_cost_codesInspect fields and contract/rest/v1.0/sub_jobsInspect fields and contract/rest/v1.0/task_items/send_unsentInspect fields and contract/rest/v1.0/task_itemsInspect fields and contract/rest/v1.0/tasksInspect fields and contract/rest/v1.0/tax_codesInspect fields and contract/rest/v1.0/tax_typesInspect fields and contract/rest/v1.0/timecard_entriesInspect fields and contract/rest/v1.0/todosInspect fields and contract/rest/v1.0/usersInspect fields and contract/rest/v1.0/vendors/{id}/business_registerInspect fields and contractDocumented contract, live behaviour unverified
procore_post_requisitions_v1_1Read the provider documentation
| Parameter | Required | Provider description |
|---|---|---|
view | No | Specifies which view (which attributes) of the resource is going to be present in the response. The `header_only` view is intended for split header / line-items rendering on the Subcontractor Invoicing UI: it returns the same shape as `action_policy` plus `tax_summary`, `accounting_method`, and `summary_text`, while skipping `items` and `item_packages`. |
invite_id | No | Unique identifier for the invite to associate with the requisition. |
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_requisitions_v1_1",
"name": "procore_post_requisitions_v1_1",
"resourceId": "requisitions-subcontractor-invoices",
"description": "Create Requisition (Subcontractor Invoices) for Commitment",
"method": "POST",
"path": "/rest/v1.1/requisitions",
"version": "1.1",
"documentationUrl": "https://developers.procore.com/reference/rest/requisitions-subcontractor-invoices?version=1.1",
"readOnly": false,
"destructive": true,
"idempotent": false,
"deprecated": false,
"beta": false,
"canonical": true,
"pathParameters": [],
"queryParameters": [
{
"name": "view",
"in": "query",
"required": false,
"description": "Specifies which view (which attributes) of the resource is going to be present in the response. The `header_only` view is intended for split header / line-items rendering on the Subcontractor Invoicing UI: it returns the same shape as `action_policy` plus `tax_summary`, `accounting_method`, and `summary_text`, while skipping `items` and `item_packages`.",
"schema": {
"type": "string",
"enum": [
"default",
"extended",
"items",
"action_policy",
"header_only"
]
}
},
{
"name": "invite_id",
"in": "query",
"description": "Unique identifier for the invite to associate with the requisition.",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"x-mcp-original-type": "integer"
}
}
],
"requestBodySchema": {
"title": "Body",
"type": "object",
"required": [
"project_id",
"commitment_id"
],
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"description": "Project ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Project ID",
"x-mcp-original-type": "integer"
},
"commitment_id": {
"anyOf": [
{
"type": "integer",
"description": "Commitment ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Commitment ID",
"x-mcp-original-type": "integer"
},
"requisition": {
"title": "Requisition (Subcontractor Invoice)",
"type": "object",
"description": "Requisition (Subcontractor Invoice)",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item_type"
],
"properties": {
"line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "The line item id of a contract line item",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The line item id of a contract line item",
"x-mcp-original-type": "integer"
},
"detail_line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"x-mcp-original-type": "integer"
},
"item_type": {
"type": "string",
"description": "The type of the item you are updating. Required if you are updating a line item. `change_order_detail_item` identifies a Commitment Change Order (CCO) SSOV detail row (a detail row that hangs off an approved change order rather than the base contract SOV).",
"enum": [
"contract_item",
"contract_detail_item",
"change_order_detail_item",
"change_order_item"
]
},
"work_completed_this_period": {
"type": "string",
"description": "The amount of work completed this period"
},
"materials_presently_stored": {
"type": "string",
"description": "The amount of materials presently stored. Only considered when neither new_materials nor stored_materials are in the input. Ingored for unit based line items."
},
"materials_presently_stored_from_previous_progress": {
"type": "string",
"description": "The amount of materials presently stored from the previous progress"
},
"new_materials": {
"type": "string",
"description": "New materials amount, ignored for unit base line items."
},
"new_materials_quantity": {
"type": "string",
"description": "Quantity of new materials added. Only applicable to unit based line items."
},
"stored_materials": {
"type": "string",
"description": "Previously stored materials amount, ignored for unit base line items."
},
"stored_materials_quantity": {
"type": "number",
"format": "float"
},
"work_completed_retainage_retained_this_period": {
"type": "string",
"description": "Work completed retainage amount retained this period (admin user only, work_completed_this_period should be non-zero to hold a retainage)"
},
"materials_stored_retainage_currently_retained": {
"type": "string",
"description": "Materials stored retainage amount currently retained (Admin user, amount accounting only, materials_presently_stored should be non-zero to hold a retainage. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"work_completed_retainage_released_this_period": {
"type": "string",
"description": "The amount of work completed retainage released this period"
},
"work_completed_this_period_quantity": {
"type": "string",
"description": "Work completed this period quantity (unit accounting contract only)"
},
"work_completed_retainage_percent_this_period": {
"type": "string",
"description": "Work completed percentage for this period (this field is only persisted if work_completed_this_period is zero or nil)"
},
"materials_stored_retainage_percent_this_period": {
"type": "string",
"description": "Materials retainage percentage for this period (This field is only persisted if materials_presently_stored is zero or nil. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"subcontractor_claimed_amount": {
"type": "string",
"description": "The total amount the subcontractor original claimed for this line"
},
"status": {
"type": "string",
"description": "Approval status of the invoice line item",
"enum": [
"approved",
"rejected",
"no_action"
]
},
"comment": {
"type": "string",
"description": "Comment about the invoice line item"
}
}
}
},
"period_id": {
"anyOf": [
{
"type": "integer",
"description": "Period ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Period ID",
"x-mcp-original-type": "integer"
},
"requisition_start": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) start date"
},
"requisition_end": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) end date"
},
"billing_date": {
"type": "string",
"format": "date",
"description": "Billing date"
},
"final": {
"type": "boolean",
"description": "true or false value indicating whether or not this is the final invoice"
},
"invoice_number": {
"type": "string",
"description": "Invoice number"
},
"payment_date": {
"type": "string",
"format": "date",
"description": "Date requisition was paid"
},
"origin_data": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party data"
},
"origin_id": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party ID"
},
"status": {
"type": "string",
"enum": [
"draft",
"under_review",
"revise_and_resubmit",
"approved",
"approved_as_noted",
"pending_owner_approval"
],
"description": "Status; admin can set any status, standard and billing recipient can set to under_review (submit) or draft (save)"
},
"submitted_at": {
"type": "string",
"format": "date",
"description": "Date requisition was submitted"
},
"prostore_file_ids": {
"type": "array",
"description": "An array of Prostore File IDs. The Prostore Files will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"x-mcp-original-type": "integer"
}
},
"upload_ids": {
"type": "array",
"description": "An array of Upload UUIDs. The Uploads will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"type": "string",
"description": "Upload IDs"
}
},
"currency_exchange_rate": {
"type": "number",
"description": "Exchange rate from the project currency to the commitment currency for this Requisition (Subcontractor Invoice). Only accepted when creating, from users with Admin permission on the Commitments tool, when multi-currency is enabled and the commitment currency differs from the project currency. Must be greater than 0 with at most 6 decimal places. When omitted, the commitment exchange rate is used."
},
"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": {
"view": {
"type": "string",
"enum": [
"default",
"extended",
"items",
"action_policy",
"header_only"
],
"description": "Specifies which view (which attributes) of the resource is going to be present in the response. The `header_only` view is intended for split header / line-items rendering on the Subcontractor Invoicing UI: it returns the same shape as `action_policy` plus `tax_summary`, `accounting_method`, and `summary_text`, while skipping `items` and `item_packages`."
},
"invite_id": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Unique identifier for the invite to associate with the requisition.",
"x-mcp-original-type": "integer"
}
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"required": []
},
"contentType": {
"type": "string",
"enum": [
"application/json"
],
"default": "application/json",
"description": "Request media type. Defaults to the documented JSON type when available."
},
"body": {
"title": "Body",
"type": "object",
"required": [
"project_id",
"commitment_id"
],
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"description": "Project ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Project ID",
"x-mcp-original-type": "integer"
},
"commitment_id": {
"anyOf": [
{
"type": "integer",
"description": "Commitment ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Commitment ID",
"x-mcp-original-type": "integer"
},
"requisition": {
"title": "Requisition (Subcontractor Invoice)",
"type": "object",
"description": "Requisition (Subcontractor Invoice)",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item_type"
],
"properties": {
"line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "The line item id of a contract line item",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The line item id of a contract line item",
"x-mcp-original-type": "integer"
},
"detail_line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"x-mcp-original-type": "integer"
},
"item_type": {
"type": "string",
"description": "The type of the item you are updating. Required if you are updating a line item. `change_order_detail_item` identifies a Commitment Change Order (CCO) SSOV detail row (a detail row that hangs off an approved change order rather than the base contract SOV).",
"enum": [
"contract_item",
"contract_detail_item",
"change_order_detail_item",
"change_order_item"
]
},
"work_completed_this_period": {
"type": "string",
"description": "The amount of work completed this period"
},
"materials_presently_stored": {
"type": "string",
"description": "The amount of materials presently stored. Only considered when neither new_materials nor stored_materials are in the input. Ingored for unit based line items."
},
"materials_presently_stored_from_previous_progress": {
"type": "string",
"description": "The amount of materials presently stored from the previous progress"
},
"new_materials": {
"type": "string",
"description": "New materials amount, ignored for unit base line items."
},
"new_materials_quantity": {
"type": "string",
"description": "Quantity of new materials added. Only applicable to unit based line items."
},
"stored_materials": {
"type": "string",
"description": "Previously stored materials amount, ignored for unit base line items."
},
"stored_materials_quantity": {
"type": "number",
"format": "float"
},
"work_completed_retainage_retained_this_period": {
"type": "string",
"description": "Work completed retainage amount retained this period (admin user only, work_completed_this_period should be non-zero to hold a retainage)"
},
"materials_stored_retainage_currently_retained": {
"type": "string",
"description": "Materials stored retainage amount currently retained (Admin user, amount accounting only, materials_presently_stored should be non-zero to hold a retainage. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"work_completed_retainage_released_this_period": {
"type": "string",
"description": "The amount of work completed retainage released this period"
},
"work_completed_this_period_quantity": {
"type": "string",
"description": "Work completed this period quantity (unit accounting contract only)"
},
"work_completed_retainage_percent_this_period": {
"type": "string",
"description": "Work completed percentage for this period (this field is only persisted if work_completed_this_period is zero or nil)"
},
"materials_stored_retainage_percent_this_period": {
"type": "string",
"description": "Materials retainage percentage for this period (This field is only persisted if materials_presently_stored is zero or nil. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"subcontractor_claimed_amount": {
"type": "string",
"description": "The total amount the subcontractor original claimed for this line"
},
"status": {
"type": "string",
"description": "Approval status of the invoice line item",
"enum": [
"approved",
"rejected",
"no_action"
]
},
"comment": {
"type": "string",
"description": "Comment about the invoice line item"
}
}
}
},
"period_id": {
"anyOf": [
{
"type": "integer",
"description": "Period ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Period ID",
"x-mcp-original-type": "integer"
},
"requisition_start": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) start date"
},
"requisition_end": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) end date"
},
"billing_date": {
"type": "string",
"format": "date",
"description": "Billing date"
},
"final": {
"type": "boolean",
"description": "true or false value indicating whether or not this is the final invoice"
},
"invoice_number": {
"type": "string",
"description": "Invoice number"
},
"payment_date": {
"type": "string",
"format": "date",
"description": "Date requisition was paid"
},
"origin_data": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party data"
},
"origin_id": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party ID"
},
"status": {
"type": "string",
"enum": [
"draft",
"under_review",
"revise_and_resubmit",
"approved",
"approved_as_noted",
"pending_owner_approval"
],
"description": "Status; admin can set any status, standard and billing recipient can set to under_review (submit) or draft (save)"
},
"submitted_at": {
"type": "string",
"format": "date",
"description": "Date requisition was submitted"
},
"prostore_file_ids": {
"type": "array",
"description": "An array of Prostore File IDs. The Prostore Files will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"x-mcp-original-type": "integer"
}
},
"upload_ids": {
"type": "array",
"description": "An array of Upload UUIDs. The Uploads will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"type": "string",
"description": "Upload IDs"
}
},
"currency_exchange_rate": {
"type": "number",
"description": "Exchange rate from the project currency to the commitment currency for this Requisition (Subcontractor Invoice). Only accepted when creating, from users with Admin permission on the Commitments tool, when multi-currency is enabled and the commitment currency differs from the project currency. Must be greater than 0 with at most 6 decimal places. When omitted, the commitment exchange rate is used."
},
"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": [
"body"
],
"additionalProperties": false
},
"pagination": null,
"notes": [
"Create a new Requisition (Subcontractor Invoices) for the specified Commitment"
],
"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": "view",
"in": "query",
"required": false,
"description": "Specifies which view (which attributes) of the resource is going to be present in the response. The `header_only` view is intended for split header / line-items rendering on the Subcontractor Invoicing UI: it returns the same shape as `action_policy` plus `tax_summary`, `accounting_method`, and `summary_text`, while skipping `items` and `item_packages`.",
"schema": {
"type": "string",
"enum": [
"default",
"extended",
"items",
"action_policy",
"header_only"
]
}
},
{
"name": "invite_id",
"in": "query",
"description": "Unique identifier for the invite to associate with the requisition.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"content": {
"application/json": {
"schema": {
"title": "Body",
"type": "object",
"required": [
"project_id",
"commitment_id"
],
"properties": {
"project_id": {
"anyOf": [
{
"type": "integer",
"description": "Project ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Project ID",
"x-mcp-original-type": "integer"
},
"commitment_id": {
"anyOf": [
{
"type": "integer",
"description": "Commitment ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Commitment ID",
"x-mcp-original-type": "integer"
},
"requisition": {
"title": "Requisition (Subcontractor Invoice)",
"type": "object",
"description": "Requisition (Subcontractor Invoice)",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item_type"
],
"properties": {
"line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "The line item id of a contract line item",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "The line item id of a contract line item",
"x-mcp-original-type": "integer"
},
"detail_line_item_id": {
"anyOf": [
{
"type": "integer",
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Parent detail line item ID. For `contract_detail_item`, this is a Work Order / Purchase Order Contract Detail Line Item ID. For `change_order_detail_item`, this is a Change Order Detail Line Item ID (Commitment Change Order SSOV).",
"x-mcp-original-type": "integer"
},
"item_type": {
"type": "string",
"description": "The type of the item you are updating. Required if you are updating a line item. `change_order_detail_item` identifies a Commitment Change Order (CCO) SSOV detail row (a detail row that hangs off an approved change order rather than the base contract SOV).",
"enum": [
"contract_item",
"contract_detail_item",
"change_order_detail_item",
"change_order_item"
]
},
"work_completed_this_period": {
"type": "string",
"description": "The amount of work completed this period"
},
"materials_presently_stored": {
"type": "string",
"description": "The amount of materials presently stored. Only considered when neither new_materials nor stored_materials are in the input. Ingored for unit based line items."
},
"materials_presently_stored_from_previous_progress": {
"type": "string",
"description": "The amount of materials presently stored from the previous progress"
},
"new_materials": {
"type": "string",
"description": "New materials amount, ignored for unit base line items."
},
"new_materials_quantity": {
"type": "string",
"description": "Quantity of new materials added. Only applicable to unit based line items."
},
"stored_materials": {
"type": "string",
"description": "Previously stored materials amount, ignored for unit base line items."
},
"stored_materials_quantity": {
"type": "number",
"format": "float"
},
"work_completed_retainage_retained_this_period": {
"type": "string",
"description": "Work completed retainage amount retained this period (admin user only, work_completed_this_period should be non-zero to hold a retainage)"
},
"materials_stored_retainage_currently_retained": {
"type": "string",
"description": "Materials stored retainage amount currently retained (Admin user, amount accounting only, materials_presently_stored should be non-zero to hold a retainage. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"work_completed_retainage_released_this_period": {
"type": "string",
"description": "The amount of work completed retainage released this period"
},
"work_completed_this_period_quantity": {
"type": "string",
"description": "Work completed this period quantity (unit accounting contract only)"
},
"work_completed_retainage_percent_this_period": {
"type": "string",
"description": "Work completed percentage for this period (this field is only persisted if work_completed_this_period is zero or nil)"
},
"materials_stored_retainage_percent_this_period": {
"type": "string",
"description": "Materials retainage percentage for this period (This field is only persisted if materials_presently_stored is zero or nil. Ignored unless \"Materials presently stored\" is manually managed in your configuration.)"
},
"subcontractor_claimed_amount": {
"type": "string",
"description": "The total amount the subcontractor original claimed for this line"
},
"status": {
"type": "string",
"description": "Approval status of the invoice line item",
"enum": [
"approved",
"rejected",
"no_action"
]
},
"comment": {
"type": "string",
"description": "Comment about the invoice line item"
}
}
}
},
"period_id": {
"anyOf": [
{
"type": "integer",
"description": "Period ID",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"description": "Period ID",
"x-mcp-original-type": "integer"
},
"requisition_start": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) start date"
},
"requisition_end": {
"type": "string",
"format": "date",
"description": "Requisition (Subcontractor Invoice) end date"
},
"billing_date": {
"type": "string",
"format": "date",
"description": "Billing date"
},
"final": {
"type": "boolean",
"description": "true or false value indicating whether or not this is the final invoice"
},
"invoice_number": {
"type": "string",
"description": "Invoice number"
},
"payment_date": {
"type": "string",
"format": "date",
"description": "Date requisition was paid"
},
"origin_data": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party data"
},
"origin_id": {
"type": "string",
"description": "Requisition (Subcontractor Invoice) third party ID"
},
"status": {
"type": "string",
"enum": [
"draft",
"under_review",
"revise_and_resubmit",
"approved",
"approved_as_noted",
"pending_owner_approval"
],
"description": "Status; admin can set any status, standard and billing recipient can set to under_review (submit) or draft (save)"
},
"submitted_at": {
"type": "string",
"format": "date",
"description": "Date requisition was submitted"
},
"prostore_file_ids": {
"type": "array",
"description": "An array of Prostore File IDs. The Prostore Files will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]+$"
}
],
"x-mcp-original-type": "integer"
}
},
"upload_ids": {
"type": "array",
"description": "An array of Upload UUIDs. The Uploads will be associated with the Requisition (Subcontractor Invoice) as attachments.",
"items": {
"type": "string",
"description": "Upload IDs"
}
},
"currency_exchange_rate": {
"type": "number",
"description": "Exchange rate from the project currency to the commitment currency for this Requisition (Subcontractor Invoice). Only accepted when creating, from users with Admin permission on the Commitments tool, when multi-currency is enabled and the commitment currency differs from the project currency. Must be greater than 0 with at most 6 decimal places. When omitted, the commitment exchange rate is used."
},
"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/requisitions-subcontractor-invoices?version=rest_v1.1",
"sourceSha256": "b09bd5ca0caf4637ced7fa862241430951924e459ecfb85242929e709e9a34f8",
"snapshot": "snapshots/oas/requisitions-subcontractor-invoices--rest_v1.1.json.gz"
},
"sourceCorrections": []
}The Unleashed waitlist is open. Inspect its documented coverage and account requirements.
Explore Unleashed