Procore Calendar Events API

The Calendar Events API from Procore — 1 operation(s) for calendar events.

Operations 1

GET /rest/v1.0/calendar_events List calendar events #

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-calendar-events-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-calendar-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Procore REST Calendar Events 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: Calendar Events
paths:
  /rest/v1.0/calendar_events:
    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: List calendar events
      description: 'DEPRECATED:

        This endpoint is not accurate across time zones and has been deprecated. It will be removed in a future version of the API. Use the Schedule Tasks, Calendar Items, and Schedule endpoints instead.


        List all Calendar Events for a specified project.'
      x-deprecated-at: '2020-11-19'
      deprecated: true
      tags:
      - Calendar Events
      parameters:
      - name: project_id
        in: query
        required: true
        description: Unique identifier for the project.
        schema:
          type: integer
      - name: calendar[start_datetime]
        in: query
        description: Start date or date-time
        schema:
          type: string
          format: date-time
      - name: calendar[finish_datetime]
        in: query
        description: Finish date or date-time
        schema:
          type: string
          format: date-time
      - name: page
        in: query
        description: Page
        schema:
          type: integer
      - name: per_page
        in: query
        description: Elements per page
        schema:
          type: integer
      responses:
        '200':
          description: OK
          headers:
            Per-Page:
              description: Number of items retrieved per page
              schema:
                type: integer
            Total:
              description: Total number of items to be retrieved
              schema:
                type: integer
            Link:
              description: Link headers for the first, prev, next, and last link
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedule_tasks_last_updated_at:
                    type: string
                    format: date-time
                    description: Timestamp of the most recent change to any task in the schedule
                    example: '2020-06-04T20:30:00Z'
                  tasks:
                    type: array
                    description: Schedule tasks that fall within the requested date range.
                    items:
                      type: object
                      title: Task
                      properties:
                        id:
                          type: integer
                          description: Unique identifier for this task.
                          example: 1359235
                        name:
                          type: string
                          description: Task name as the user sees it in Procore. Depending on the project settings this may include the full outline path
                          example: INTERIOR
                        task_name:
                          type: string
                          description: Task name. This will always contain just the task name, and will not include the full outline path.
                          example: INTERIOR
                        key:
                          type: string
                          description: 'A deprecated value which was originally used to uniquely identify tasks.

                            This value will be removed in a later version of the API.'
                          example: 101429|40e65ab5-07a5-4cb3-88c0-bc691c3902e0
                        start_datetime:
                          type: string
                          format: date-time
                          description: Task start timestamp in ISO 8601 UTC format.
                          example: '2015-03-06T13:00:00Z'
                        finish_datetime:
                          type: string
                          format: date-time
                          description: Task finish timestamp in ISO 8601 UTC format.
                          example: '2015-03-08T22:00:00Z'
                        percentage:
                          type: integer
                          description: Percent complete value for this task.
                          example: 80
                        color:
                          type: string
                          description: 'The RGB color value, expressed in hex digits for the color used when

                            displaying the task in Procore. The color varies depending on whether

                            the task is on the critical path, complete, unstarted or in progress.'
                          example: '#6070A0'
                        parent_id:
                          type: integer
                          description: ID of the parent task.
                          example: 802241
                        pending:
                          type: boolean
                          description: True if one or more change requests are pending for this task.
                          example: false
                        activity_id:
                          type: string
                          description: 'The external unique identifier for this task. Note that due to an

                            oversight in the original API, the value returned for this attribute

                            will be the `source_uid` value supplied when creating a task.'
                          example: 0687b2f6-dc92-40c7-a8c8-a3c1f3ac9305
                        schedule_activity_id:
                          type: string
                          description: 'For tasks imported from external systems which have the concept of

                            an "Activity ID" (for example Primavera P6), this attribute is

                            used to hold the Activity ID value. Note that due to an oversight

                            during the creation of this API, this is the value supplied

                            in the `activity_id` attribute. This will be corrected in a later

                            version of the API.'
                          example: EM12865
                        resource_name:
                          type: string
                          description: Names of any resources assigned to this task.
                          example: Resource 1, Resource 2, Resource 3
                        critical_path:
                          type: boolean
                          description: True if this task is on the critical path.
                          example: false
                        milestone:
                          type: boolean
                          description: True if this task is a milestone.
                          example: false
                        actual_start:
                          type: string
                          format: date-time
                          description: Actual start timestamp for this task in ISO 8601 UTC format.
                          example: '2015-03-08T00:00:00Z'
                        actual_finish:
                          type: string
                          format: date-time
                          description: Actual finish timestamp for this task in ISO 8601 UTC format.
                          example: '2015-03-09T00:00:00Z'
                        row_number:
                          type: integer
                          description: 'The row number of a task defines the sequence in which tasks are normally

                            expected to be displayed.'
                          example: 2
                        has_children:
                          type: boolean
                          description: True if this is a summary task, i.e. this task has child tasks.
                          example: false
                        full_outline_path:
                          type: string
                          description: Task full outline path
                          example: INTERIOR
                        source_uid:
                          type: string
                          description: 'The unique identifier for this task from the external system which

                            owns the schedule data.'
                          example: 0687b2f6-dc92-40c7-a8c8-a3c1f3ac9305
                        wbs:
                          type: string
                          description: Work Breakdown Structure (WBS) number for this task.
                          example: '1.1'
                        schedule_duration:
                          type: number
                          format: float
                          description: 'The duration of this task in days as defined by the external system

                            which owns the schedule data.'
                          example: 3
                        resource_ids:
                          type: array
                          description: 'The resources assigned to this task, represented as an array of

                            resource ID values.'
                          items:
                            type: integer
                          example:
                          - 1
                          - 2
                          - 3
                        notes:
                          type: string
                          description: Arbitrary notes about this task.
                          example: Some notes
                        baseline_start:
                          type: string
                          format: date-time
                          description: The baseline start timestamp for this task in ISO 8601 UTC format.
                          example: '2015-03-08T00:00:00Z'
                        baseline_finish:
                          type: string
                          format: date-time
                          description: The baseline finish timestamp for this task in ISO 8601 UTC format.
                          example: '2015-03-09T00:00:00Z'
                        start_variance:
                          type: number
                          format: float
                          description: The start variance in days for this task.
                          example: 1.5
                        finish_variance:
                          type: number
                          format: float
                          description: The finish variance in days for this task.
                          example: -2.5
                        manually_edited:
                          type: boolean
                          description: 'Set to true if the task has been created or modified in Procore, false

                            if the task was imported from an external schedule and has not been

                            modified in Procore.'
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          description: Date/time the Task was created in ISO 8601 UTC format.
                          example: '2015-03-05T11:00:00Z'
                        updated_at:
                          type: string
                          format: date-time
                          description: Date/time the Task was last updated in ISO 8601 UTC format.
                          example: '2015-03-06T13:00:00Z'
                        created_by:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              example: 160586
                            login:
                              type: string
                              description: Email
                              example: carl.contractor@example.com
                            name:
                              type: string
                              description: Name
                              example: Carl Contractor
                        updated_by:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: ID
                              example: 160586
                            login:
                              type: string
                              description: Email
                              example: carl.contractor@example.com
                            name:
                              type: string
                              description: Name
                              example: Carl Contractor
                  todos:
                    type: array
                    description: Calendar to-do items that fall within the requested date range.
                    items:
                      type: object
                      title: ToDo
                      properties:
                        id:
                          type: integer
                          description: ToDo id
                          example: 12
                        assignment:
                          type: object
                          description: Login information of the user assigned to the ToDo. Present only when an assignee is set.
                          properties:
                            id:
                              type: integer
                              description: ID of the assigned user's login information.
                              example: 160586
                            login:
                              type: string
                              description: Login (email) of the assigned user.
                              example: carl.contractor@example.com
                            name:
                              type: string
                              description: Full name of the assigned user.
                              example: Carl Contractor
                        color:
                          type: string
                          description: ToDo color
                          example: '#A4505D'
                        created_by:
                          type: object
                          description: Login information of the user who created the ToDo.
                          properties:
                            id:
                              type: integer
                              description: ID of the creator's login information.
                              example: 160586
                            login:
                              type: string
                              description: Login (email) of the user who created the ToDo.
                              example: carl.contractor@example.com
                            name:
                              type: string
                              description: Full name of the user who created the ToDo.
                              example: Carl Contractor
                        description:
                          type: string
                          description: ToDo description
                          example: Use some power tools to fix the drywall.
                        finish_datetime:
                          type: string
                          format: date-time
                          description: ToDo finish date-time
                          example: '2015-02-07T00:00:00Z'
                        full_outline_path:
                          type: string
                          description: ToDo full outline path (corresponds to matching field on Tasks)
                          example: Fix drywall
                        milestone:
                          type: boolean
                          description: ToDo milestone status
                          example: true
                        name:
                          type: string
                          description: ToDo name
                          example: Fix drywall
                        percentage:
                          type: integer
                          description: ToDo percentage
                          example: 99
                        private:
                          type: boolean
                          description: ToDo private status
                          example: false
                        start_datetime:
                          type: string
                          format: date-time
                          description: ToDo start date-time
                          example: '2015-02-06T00:00:00Z'
                        task_name:
                          type: string
                          description: ToDo name (corresponds to matching field on Tasks)
                          example: Fix Drywall
                        updated_at:
                          type: string
                          format: date-time
                          description: Date/time the ToDo was last updated
                          example: '2015-02-06T00:00:00Z'
        '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/calendar_events',\n  qs: {\n    project_id: 'SOME_INTEGER_VALUE',\n    'calendar[start_datetime]': 'SOME_STRING_VALUE',\n    'calendar[finish_datetime]': 'SOME_STRING_VALUE',\n    page: 'SOME_INTEGER_VALUE',\n    per_page: 'SOME_INTEGER_VALUE'\n  }\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/calendar_events?project_id=SOME_INTEGER_VALUE&calendar%5Bstart_datetime%5D=SOME_STRING_VALUE&calendar%5Bfinish_datetime%5D=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&per_page=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/calendar_events?project_id=SOME_INTEGER_VALUE&calendar%5Bstart_datetime%5D=SOME_STRING_VALUE&calendar%5Bfinish_datetime%5D=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&per_page=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/calendar_events?project_id=SOME_INTEGER_VALUE&calendar%5Bstart_datetime%5D=SOME_STRING_VALUE&calendar%5Bfinish_datetime%5D=SOME_STRING_VALUE&page=SOME_INTEGER_VALUE&per_page=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: List Calendar Events is Deprecated
        description: 'This endpoint is not accurate across time zones and has been deprecated. It will

          be removed in a future version of the API. Use the Schedule Tasks, Calendar Items,

          and Schedule endpoints instead.'
        endpoint: GET /calendar_events
        type: deprecated
        breaking: false
        datestamp: '2020-11-19'
        versions:
        - '1.0'
        x-doc:
          visibility: public
          stage: ga
          exposure: public
        link: calendar-events?version=1.0#list-calendar-events
      operationId: listCalendarEvents
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer