Record sync status

Stores sync metadata, warnings, cache state, Plan Access state, and resolved Catalog versions for one cloud-linked Project.

Operation IDrecordPlaybookProjectSyncEvent
post/v3/playbook/projects/{projectSlug}/sync-events
Example requestcURL
curl -X POST 'https://api.sumr.co/v3/playbook/projects/{projectSlug}/sync-events' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"cacheStatus":"fresh","catalogVersions":{},"finishedAt":"2026-06-03T00:00:00.000Z","metadata":{},"planAccessReason":"example","planAccessState":"active","resourceChecksums":{},"startedAt":"2026-06-03T00:00:00.000Z"}'

Path parameters

projectSlugrequired

Cloud-linked Project slug inside the current account.

string

Body

RecordPlaybookProjectSyncEventRequestDtoapplication/json
{
  "cacheStatus": "fresh",
  "catalogVersions": {},
  "finishedAt": "2026-06-03T00:00:00.000Z",
  "metadata": {},
  "planAccessReason": "example",
  "planAccessState": "active",
  "resourceChecksums": {},
  "startedAt": "2026-06-03T00:00:00.000Z"
}

Responses

201Project Sync Event recorded.
PlaybookProjectSyncEventDto
{
  "properties": {
    "cacheStatus": {
      "enum": [
        "fresh",
        "stale",
        "skipped",
        "unavailable"
      ],
      "type": "string"
    },
    "catalogVersions": {
      "additionalProperties": {},
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "createdAt": {
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      "type": "string"
    },
    "finishedAt": {
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      "type": "string"
    },
    "id": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "type": "string"
    },
    "metadata": {
      "additionalProperties": {},
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "planAccessReason": {
      "maxLength": 160,
      "type": "string"
    },
    "planAccessState": {
      "enum": [
        "active",
        "trial",
        "inactive",
        "canceled",
        "insufficient",
        "unknown"
      ],
      "type": "string"
    },
    "projectId": {
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "type": "string"
    },
    "resourceChecksums": {
      "additionalProperties": {},
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "startedAt": {
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      "type": "string"
    },
    "status": {
      "enum": [
        "succeeded",
        "warning",
        "failed"
      ],
      "type": "string"
    },
    "warnings": {
      "items": {
        "additionalProperties": {},
        "propertyNames": {
          "type": "string"
        },
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "id",
    "projectId",
    "status",
    "cacheStatus",
    "planAccessState",
    "createdAt"
  ],
  "type": "object"
}