Read resource inquiry and allocation history
Use resourceActivity in the authenticated KORONA Event GraphQL API to reconstruct resource activity for an event. This query requires an authenticated user with permission to read events and the event's tenant context. It is separate from the public Booking API.
Retrieve an event's activity
Pass the event ID and paginate with first and after. You can narrow the results with requirementId or resourceId. Results are ordered by activity ID.
query ResourceHistory($event: ID!, $after: String) {
resourceActivity(eventId: $event, first: 100, after: $after) {
nodes {
id
createdAt
kind
attemptId
requirementId
slotId
resourceId
actorType
actorId
actorEntityType
source
reason
response
lifecycle
allocation
suitability
communication
communicationId
feeId
feeStatus
eventRevision
eventAuditId
legacy
}
pageInfo {
hasNextPage
endCursor
}
}
}Use endCursor for the next page while hasNextPage is true. Retain activity IDs when combining pages so a repeated fetch does not duplicate entries in your application.
Interpret the records
Group inquiry records by attemptId. A new inquiry after a decline or closure starts a separate attempt. The existing inquiry ID remains the current-state reference used by existing integrations.
| Field | Meaning |
|---|---|
actorType, actorEntityType, actorId | The actor role, entity type and ID. actorType is staff, resource, system or unknown. A signed-in resource user has entity type User; an inquiry email-token response has entity type Resource. Resolve an ID only together with its entity type. |
response | The resource's answer: unanswered, accepted, rejected, withdrawn, or unknown. |
lifecycle | Whether the inquiry is open, closed, or removed. Closure does not itself mean rejection. |
reason | The recorded reason, when known. not_selected closes recruitment without changing an earlier acceptance. |
allocation | Assignment evidence such as preselected, allocated, unallocated, or released. Acceptance alone does not prove assignment. |
suitability | Independent suitability evidence. unknown means no suitability assessment was recorded. |
communication | Communication evidence. recorded means the communication was prepared, without evidence of successful delivery. delivered records the application's successful email delivery handoff; it does not prove the recipient read the message. |
feeId, communicationId | References to existing fee and communication records. Their content is not copied into this response. |
eventRevision, eventAuditId | The event revision observed with the activity, where available. |
legacy | A snapshot of a record that predates attempt history. It is not a reconstruction of missing earlier answers. |
For example, response: "accepted", lifecycle: "closed", and reason: "not_selected" means the resource accepted but recruitment closed because another resource was selected. Keep these fields separate in your own displays.
For older records, actorEntityType may be null; do not infer an entity type from the actor role or numeric ID.
A null field means that dimension does not apply to the activity or no evidence is available. Do not convert it into a rejection, failure, or successful assignment. createdAt is the activity recording time; for a legacy_snapshot entry, it is the observation time, not the time of an earlier response.
Access and retention
Staff with event-read permission can retrieve the event's recorded resource activity. Users restricted to their own resource see only their own inquiry, allocation and communication activity. They do not receive colleagues' responses, internal reasons, actor identifiers, actor entity types or fee activity through this query. Inquiry email tokens do not grant access to the history query.
Activity remains readable by event ID after ordinary resource archiving or removal of a requirement or assignment. Referenced operational records may no longer exist. Tenant deletion and the existing retention policy still apply.