Procore Schedule Type API

The Schedule Type API from Procore — 1 operation(s) for schedule type.

Operations 2

GET /rest/v1.0/schedule_type Show the schedule integration type for a project #
PATCH /rest/v1.0/schedule_type Update schedule integration type #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/procore:procore-schedule-type-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

procore-schedule-type-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Procore REST Schedule Type API
  version: v1.0/v2.0
  description: Merged from the per-resource OpenAPI documents Procore publishes through its developer portal (https://developers.procore.com/api/v1/resource_groups). Originals are kept verbatim in openapi/_original/resources/.
  x-source: https://developers.procore.com/api/v1/resource_groups
servers:
- url: https://api.procore.com
  description: Production
security:
- bearerAuth: []
tags:
- name: Schedule Type
paths:
  /rest/v1.0/schedule_type:
    parameters:
    - name: Procore-Company-Id
      in: header
      description: Unique company identifier associated with the Procore User Account.
      required: true
      schema:
        type: integer
    x-compliance-level: full
    get:
      x-doc:
        visibility: public
        stage: ga
        exposure: public
      summary: Show the schedule integration type for a project
      description: 'Return information about the schedule integration configuration for the current project.


        #### Schedule Types


        | Type | Key |

        |------------------------------------------------------|-------------------------------|

        | File-based schedule integration via web browser | "Microsoft Project" |

        | File-based schedule integration via Procore Drive | "Microsoft Project 2010" |

        | File-based schedule integration via Procore Documents| "Microsoft Project Documents" |

        | Primavera P6 database integration via Procore Drive | "Primavera P6" |


        Note that the schedule types listed as "Microsoft Project", "Microsoft Project 2010", and "Microsoft Project Documents" are functionally identical.

        In all cases Procore can consume any supported schedule file type and extract data from it, not just Microsoft Project.

        Schedule files can be upoaded either via Procore Drive, via the Procore Documents tool, or via the Procore Schedule tool,

        regardless of which of these three types is selected. Where Primavera P6 database integration via Procore Drive is in use, the `p6_id`

        attribute returned by this API indicates which P6 project Procore Drive is extracting data from.


        This endpoint has been deprecated. Instead, use [/rest/v1/project/{project_id}/schedule)'
      x-deprecated-at: '2021-03-31'
      deprecated: true
      tags:
      - Schedule Type
      parameters:
      - name: project_id
        in: query
        required: true
        description: Unique identifier for the project.
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                    enum:
                    - Microsoft Project
                    - Microsoft Project 2010
                    - Microsoft Project Documents
                    - Primavera P6
                    description: Schedule type key
                    example: Microsoft Project
                  p6_id:
                    type: string
                    description: Schedule type Primavera P6 Identifier
                    example: NRG00940
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
      x-code-samples:
      - id: node_request
        title: Node.js
        content: "const request = require('request');\n\nconst options = {\n  method: 'GET',\n  url: 'https://api.procore.com/rest/v1.0/schedule_type',\n  qs: {project_id: 'SOME_INTEGER_VALUE'}\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - id: python_python3
        title: Python3
        content: 'import http.client


          conn = http.client.HTTPSConnection("api.procore.com")


          conn.request("GET", "/rest/v1.0/schedule_type?project_id=SOME_INTEGER_VALUE")


          res = conn.getresponse()

          data = res.read()


          print(data.decode("utf-8"))'
      - id: shell_curl
        title: Curl
        content: "curl --request GET \\\n  --url 'https://api.procore.com/rest/v1.0/schedule_type?project_id=SOME_INTEGER_VALUE'"
      - id: csharp_httpclient
        title: C#
        content: "var client = new HttpClient();\nvar request = new HttpRequestMessage\n{\n    Method = HttpMethod.Get,\n    RequestUri = new Uri(\"https://api.procore.com/rest/v1.0/schedule_type?project_id=SOME_INTEGER_VALUE\"),\n};\nusing (var response = await client.SendAsync(request))\n{\n    response.EnsureSuccessStatusCode();\n    var body = await response.Content.ReadAsStringAsync();\n    Console.WriteLine(body);\n}"
      x-rate-limit-enabled: true
      x-procore-kong-tags:
      - rate-limit:enabled
      x-changelog:
      - summary: Schedule Types endpoint is deprecated
        description: This endpoint has been deprecated. Instead, use [/rest/v1/project/{project_id}/schedule)
        endpoint: GET /schedule_type
        type: deprecated
        breaking: false
        datestamp: '2021-03-31'
        versions:
        - '1.0'
        x-doc:
          visibility: public
          stage: ga
          exposure: public
        link: schedule-type?version=1.0#show-the-schedule-integration-type-for-a-project
      operationId: showTheScheduleIntegrationTypeForAProject
    patch:
      x-doc:
        visibility: public
        stage: ga
        exposure: public
      summary: Update schedule integration type
      description: 'Update the schedule integration type for a project.


        #### Schedule Types


        | Type | Key |

        |------------------------------------------------------|-------------------------------|

        | File-based schedule integration via web browser | "Microsoft Project" |

        | File-based schedule integration via Procore Drive | "Microsoft Project 2010" |

        | File-based schedule integration via Procore Documents| "Microsoft Project Documents" |

        | Primavera P6 database integration via Procore Drive | "Primavera P6" |


        Note that the schedule types listed as "Microsoft Project", "Microsoft Project 2010", and "Microsoft Project Documents" are functionally identical.

        In all cases Procore can consume any supported schedule file type and extract data from it, not just Microsoft Project.

        Schedule files can be upoaded either via Procore Drive, via the Procore Documents tool, or via the Procore Schedule tool,

        regardless of which of these three types is selected. Where Primavera P6 database integration via Procore Drive is in use, the `p6_id`

        attribute returned by this API indicates which P6 project Procore Drive is extracting data from.


        This endpoint has been deprecated. Instead, use [/rest/v1/project/{project_id}/schedule)'
      x-deprecated-at: '2021-03-31'
      deprecated: true
      tags:
      - Schedule Type
      requestBody:
        content:
          application/json:
            schema:
              title: Body
              type: object
              required:
              - project_id
              - schedule_type
              properties:
                project_id:
                  type: integer
                  description: The ID of the Project the Schedule Type belongs to
                schedule_type:
                  title: Schedule Type
                  type: object
                  description: The schedule integration type to set for the project.
                  required:
                  - key
                  properties:
                    key:
                      type: string
                      enum:
                      - Microsoft Project
                      - Microsoft Project 2010
                      - Microsoft Project Documents
                      - Primavera P6
                      description: Schedule integration type.
                    p6_id:
                      type: string
                      description: Primavera P6 project identifier, used when the type is Primavera P6.
              example:
                project_id: 513526
                schedule_type:
                  key: Primavera P6
                  p6_id: 123456abc
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                    enum:
                    - Microsoft Project
                    - Microsoft Project 2010
                    - Microsoft Project Documents
                    - Primavera P6
                    description: Schedule type key
                    example: Microsoft Project
                  p6_id:
                    type: string
                    description: Schedule type Primavera P6 Identifier
                    example: NRG00940
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  fields:
                    type: string
                  reason:
                    description: A human-readable code providing additional detail on the cause of the error.
                    type: string
                  error:
                    description: Description of the error thrown.
                    type:
                    - string
                    - 'null'
                    example: Invalid Token
      x-code-samples:
      - id: node_request
        mimeType: application/json
        title: Node.js
        content: "const request = require('request');\n\nconst options = {\n  method: 'PATCH',\n  url: 'https://api.procore.com/rest/v1.0/schedule_type',\n  headers: {'content-type': 'application/json'},\n  body: {project_id: 513526, schedule_type: {key: 'Primavera P6', p6_id: '123456abc'}},\n  json: true\n};\n\nrequest(options, function (error, response, body) {\n  if (error) throw new Error(error);\n\n  console.log(body);\n});\n"
      - id: python_python3
        mimeType: application/json
        title: Python3
        content: 'import http.client


          conn = http.client.HTTPSConnection("api.procore.com")


          payload = "{\"project_id\":513526,\"schedule_type\":{\"key\":\"Primavera P6\",\"p6_id\":\"123456abc\"}}"


          headers = { ''content-type'': "application/json" }


          conn.request("PATCH", "/rest/v1.0/schedule_type", payload, headers)


          res = conn.getresponse()

          data = res.read()


          print(data.decode("utf-8"))'
      - id: shell_curl
        mimeType: application/json
        title: Curl
        content: "curl --request PATCH \\\n  --url https://api.procore.com/rest/v1.0/schedule_type \\\n  --header 'content-type: application/json' \\\n  --data '{\"project_id\":513526,\"schedule_type\":{\"key\":\"Primavera P6\",\"p6_id\":\"123456abc\"}}'"
      - id: csharp_httpclient
        mimeType: application/json
        title: C#
        content: "var client = new HttpClient();\nvar request = new HttpRequestMessage\n{\n    Method = HttpMethod.Patch,\n    RequestUri = new Uri(\"https://api.procore.com/rest/v1.0/schedule_type\"),\n    Content = new StringContent(\"{\\\"project_id\\\":513526,\\\"schedule_type\\\":{\\\"key\\\":\\\"Primavera P6\\\",\\\"p6_id\\\":\\\"123456abc\\\"}}\")\n    {\n        Headers =\n        {\n            ContentType = new MediaTypeHeaderValue(\"application/json\")\n        }\n    }\n};\nusing (var response = await client.SendAsync(request))\n{\n    response.EnsureSuccessStatusCode();\n    var body = await response.Content.ReadAsStringAsync();\n    Console.WriteLine(body);\n}"
      x-rate-limit-enabled: true
      x-procore-kong-tags:
      - rate-limit:enabled
      x-changelog:
      - summary: Schedule Types endpoint is deprecated
        description: This endpoint has been deprecated. Instead, use [/rest/v1/project/{project_id}/schedule)
        endpoint: PATCH /schedule_type
        type: deprecated
        breaking: false
        datestamp: '2021-03-31'
        versions:
        - '1.0'
        x-doc:
          visibility: public
          stage: ga
          exposure: public
        link: schedule-type?version=1.0#update-schedule-integration-type
      operationId: updateScheduleIntegrationType
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer