Procore Daily Log Header API

The Daily Log Header API from Procore — 2 operation(s) for daily log header.

Operations 3

GET /rest/v1.0/projects/{project_id}/daily_log_headers Get the Daily Log Header via date or id #
PATCH /rest/v1.0/projects/{project_id}/daily_log_headers Update the state of a Daily Log Header #
GET /rest/v1.0/projects/{project_id}/daily_log_headers/index Get Daily Log Headers for the Project #

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-daily-log-header-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-daily-log-header-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Procore REST Daily Log Header 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: Daily Log Header
paths:
  /rest/v1.0/projects/{project_id}/daily_log_headers:
    parameters:
    - name: Procore-Company-Id
      in: header
      description: Unique company identifier associated with the Procore User Account.
      required: true
      schema:
        type: integer
    - name: project_id
      in: path
      required: true
      description: Unique identifier for the project.
      schema:
        type: integer
    - name: id
      in: query
      required: false
      description: The id of the requested Daily Log Header
      schema:
        type: integer
    - name: log_date
      in: query
      required: false
      description: The log date for the requested Daily Log Header
      schema:
        type: string
        format: date
    x-compliance-level: full
    get:
      x-doc:
        visibility: public
        stage: ga
        exposure: public
      summary: Get the Daily Log Header via date or id
      description: Returns the Daily Log Header for a given date or id
      tags:
      - Daily Log Header
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: A daily log header
                properties:
                  id:
                    type: integer
                    description: The id of the daily log header
                    example: 12345
                  log_date:
                    type: string
                    format: date
                    description: 'Date that this daily log header represents Format: YYYY-MM-DD Example: 2016-05-19'
                    example: '2016-05-19'
                  log_datetime:
                    type: string
                    format: date-time
                    description: Estimated UTC datetime that this daily log header represents
                    example: '2016-05-19T12:00:00Z'
                  completed:
                    type: boolean
                    description: Is this log date marked as complete?
                    example: true
                  completed_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
                  completed_at:
                    type: string
                    format: date-time
                    description: Daily log header marked complete at
                    example: '2017-09-19T20:02:27Z'
                  completable:
                    type: boolean
                    description: Is this log date able to be completed?
                    example: true
                  distributed:
                    type: boolean
                    description: Is this log date marked as distributed?
                    example: true
                  distributed_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
                  distributed_at:
                    type: string
                    format: date-time
                    description: Daily log header marked distributed at
                    example: '2017-09-19T20:02:27Z'
                  distributable:
                    type: boolean
                    description: Is this log date able to be distributed?
                    example: true
        '403':
          description: User does not have permissions to view the requested Daily Log Header
          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/projects/%7Bproject_id%7D/daily_log_headers',\n  qs: {id: 'SOME_INTEGER_VALUE', log_date: 'SOME_STRING_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/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_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/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_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/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_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
      operationId: getTheDailyLogHeaderViaDateOrId
    patch:
      x-doc:
        visibility: public
        stage: ga
        exposure: public
      summary: Update the state of a Daily Log Header
      description: Sets the completed boolean value and/or distributes the Daily Log to its distribution list
      tags:
      - Daily Log Header
      parameters:
      - name: app_name
        in: query
        required: false
        description: The name of the app issuing this request. When set to 'web', the requesting user's saved Daily Log filters are applied to the PDF sent to the distribution list.
        schema:
          type: string
          example: web
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - daily_log_header
              properties:
                daily_log_header:
                  type: object
                  required:
                  - completed
                  - distributed
                  properties:
                    completed:
                      type: boolean
                      description: Set the completion status for the day
                      example: true
                    distributed:
                      type: boolean
                      description: Distribute the Daily Log for the day
                      example: true
        required: true
      responses:
        '200':
          description: Daily Log Header updated
          content:
            application/json:
              schema:
                type: object
                description: A daily log header
                properties:
                  id:
                    type: integer
                    description: The id of the daily log header
                    example: 12345
                  log_date:
                    type: string
                    format: date
                    description: 'Date that this daily log header represents Format: YYYY-MM-DD Example: 2016-05-19'
                    example: '2016-05-19'
                  log_datetime:
                    type: string
                    format: date-time
                    description: Estimated UTC datetime that this daily log header represents
                    example: '2016-05-19T12:00:00Z'
                  completed:
                    type: boolean
                    description: Is this log date marked as complete?
                    example: true
                  completed_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
                  completed_at:
                    type: string
                    format: date-time
                    description: Daily log header marked complete at
                    example: '2017-09-19T20:02:27Z'
                  completable:
                    type: boolean
                    description: Is this log date able to be completed?
                    example: true
                  distributed:
                    type: boolean
                    description: Is this log date marked as distributed?
                    example: true
                  distributed_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
                  distributed_at:
                    type: string
                    format: date-time
                    description: Daily log header marked distributed at
                    example: '2017-09-19T20:02:27Z'
                  distributable:
                    type: boolean
                    description: Is this log date able to be distributed?
                    example: true
        '400':
          description: Daily Log Header parameter was missing or invalid
          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: User does not have permission to update Daily Log Headers
          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/projects/%7Bproject_id%7D/daily_log_headers',\n  qs: {id: 'SOME_INTEGER_VALUE', log_date: 'SOME_STRING_VALUE', app_name: 'web'},\n  headers: {'content-type': 'application/json'},\n  body: {daily_log_header: {completed: true, distributed: true}},\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 = "{\"daily_log_header\":{\"completed\":true,\"distributed\":true}}"


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


          conn.request("PATCH", "/rest/v1.0/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_VALUE&app_name=web", 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/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_VALUE&app_name=web' \\\n  --header 'content-type: application/json' \\\n  --data '{\"daily_log_header\":{\"completed\":true,\"distributed\":true}}'"
      - 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/projects/%7Bproject_id%7D/daily_log_headers?id=SOME_INTEGER_VALUE&log_date=SOME_STRING_VALUE&app_name=web\"),\n    Content = new StringContent(\"{\\\"daily_log_header\\\":{\\\"completed\\\":true,\\\"distributed\\\":true}}\")\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: Added app_name query param
        description: If app name is 'web' and request completes day then web filters of user which completes day are applied to pdf which is sent to distribution users.
        endpoint: PATCH /projects/{project_id}/daily_log_headers
        type: refinement
        breaking: false
        datestamp: '2021-03-29'
        versions:
        - '1.0'
        x-doc:
          visibility: public
          stage: ga
          exposure: public
        link: daily-log-headers?version=1.0#update-the-state-of-a-daily-log-header
      operationId: updateTheStateOfADailyLogHeader
  /rest/v1.0/projects/{project_id}/daily_log_headers/index:
    parameters:
    - name: Procore-Company-Id
      in: header
      description: Unique company identifier associated with the Procore User Account.
      required: true
      schema:
        type: integer
    - name: project_id
      in: path
      required: true
      description: Unique identifier for the project.
      schema:
        type: integer
    x-compliance-level: full
    get:
      x-doc:
        visibility: public
        stage: ga
        exposure: public
      summary: Get Daily Log Headers for the Project
      description: Returns Daily Log Headers for the Project. When no date range is supplied, results default to the project's creation date through today. Daily Log Headers dated before the project's creation date are returned only when an explicit `start_date` earlier than that date is supplied.
      tags:
      - Daily Log Header
      parameters:
      - name: start_date
        in: query
        required: false
        description: The left (earliest) boundary of the requested date range, inclusive, matched against each header's `log_date`. Defaults to the project's creation date when omitted. Supply a `start_date` earlier than the project's creation date to retrieve headers dated before the project was created.
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        required: false
        description: The right (latest) boundary of the requested date range, inclusive, matched against each header's `log_date`. Defaults to today when omitted and is always capped at today, so a future `end_date` returns results only through the current date.
        schema:
          type: string
          format: date
      - 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: array
                description: Array of Daily Log Headers
                items:
                  type: object
                  description: A daily log header
                  properties:
                    id:
                      type: integer
                      description: The id of the daily log header
                      example: 12345
                    log_date:
                      type: string
                      format: date
                      description: 'Date that this daily log header represents Format: YYYY-MM-DD Example: 2016-05-19'
                      example: '2016-05-19'
                    log_datetime:
                      type: string
                      format: date-time
                      description: Estimated UTC datetime that this daily log header represents
                      example: '2016-05-19T12:00:00Z'
                    completed:
                      type: boolean
                      description: Is this log date marked as complete?
                      example: true
                    completed_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
                    completed_at:
                      type: string
                      format: date-time
                      description: Daily log header marked complete at
                      example: '2017-09-19T20:02:27Z'
                    completable:
                      type: boolean
                      description: Is this log date able to be completed?
                      example: true
                    distributed:
                      type: boolean
                      description: Is this log date marked as distributed?
                      example: true
                    distributed_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
                    distributed_at:
                      type: string
                      format: date-time
                      description: Daily log header marked distributed at
                      example: '2017-09-19T20:02:27Z'
                    distributable:
                      type: boolean
                      description: Is this log date able to be distributed?
                      example: true
        '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: User does not have permissions to view the requested Daily Log Header
          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/projects/%7Bproject_id%7D/daily_log_headers/index',\n  qs: {\n    start_date: 'SOME_STRING_VALUE',\n    end_date: '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/projects/%7Bproject_id%7D/daily_log_headers/index?start_date=SOME_STRING_VALUE&end_date=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/projects/%7Bproject_id%7D/daily_log_headers/index?start_date=SOME_STRING_VALUE&end_date=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/projects/%7Bproject_id%7D/daily_log_headers/index?start_date=SOME_STRING_VALUE&end_date=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: Return headers dated before the project's creation date
        description: Fixed the date-range query so that Daily Log Headers dated before the project's creation date are returned when the requested start_date/end_date range covers them. Previously these headers were omitted from the response.
        endpoint: GET /projects/{project_id}/daily_log_headers/index
        type: fix
        breaking: false
        datestamp: '2026-06-22'
        versions:
        - '1.0'
        x-doc:
          visibility: public
          stage: ga
          exposure: public
        link: daily-log-headers?version=1.0#get-daily-log-headers-for-the-project
      operationId: getDailyLogHeadersForTheProject
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer