crossfire HTTP API
92 HTTP operations with request fields, responses and validation.
The crossfire server exposes these routes. Its Node, C# managed, C# NativeAOT and Rust implementations serve the same API.
These pages are generated from the operation definitions and validation functions. Each page includes field limits and custom validation code.
| Operation | Method | Path | Authentication | Success |
|---|---|---|---|---|
recordFleetNativeStop | PUT | /api/fleets/{fleetId}/agents/{agentId}/native-stop | fleet | 200 |
createPublication | POST | /api/publications | agent | 201 |
publications | GET | /api/publications | human | 200 |
publication | GET | /api/publications/{publicationId} | either | 200 |
uploadPublicationFile | PUT | /api/publications/{publicationId}/files/{fileId} | agent | 200 |
commitPublication | PUT | /api/publications/{publicationId}/commit | agent | 200 |
deletePublication | DELETE | /api/publications/{publicationId} | human | 200 |
fleetRuntimeOperations | GET | /api/fleets/{fleetId}/session-operations | either | 200 |
requestFleetRuntime | POST | /api/fleets/{fleetId}/session-operations | human | 202 |
claimFleetRuntime | PUT | /api/fleets/{fleetId}/session-operations/{operationId}/claim | fleet | 200 |
receiptFleetRuntime | PUT | /api/fleets/{fleetId}/session-operations/{operationId}/receipt | fleet | 200 |
runtimeObservations | GET | /api/agents/{agentId}/runtime-observations | either | 200 |
reportRuntime | PUT | /api/agents/{agentId}/listener-runs/{runId}/runtime | agent | 200 |
runtimeDecisions | GET | /api/agents/{agentId}/runtime-decisions | either | 200 |
createRuntimeDecision | POST | /api/agents/{agentId}/runtime-decisions | agent | 201 |
runtimeDecision | GET | /api/agents/{agentId}/runtime-decisions/{decisionId} | either | 200 |
answerRuntimeDecision | POST | /api/agents/{agentId}/runtime-decisions/{decisionId}/answer | human | 200 |
pollRuntimeDecision | GET | /api/agents/{agentId}/runtime-decisions/{decisionId}/answer | agent | 200 |
receiptRuntimeDecision | PUT | /api/agents/{agentId}/runtime-decisions/{decisionId}/receipt | agent | 200 |
reportFleetFailure | POST | /api/fleets/{fleetId}/runtime-incidents | fleet | 201 |
wakeRules | GET | /api/wake-rules | human | 200 |
createWakeRule | POST | /api/wake-rules | human | 201 |
wakeRule | GET | /api/wake-rules/{ruleId} | human | 200 |
changeWakeRule | PUT | /api/wake-rules/{ruleId} | human | 200 |
deleteWakeRule | DELETE | /api/wake-rules/{ruleId} | human | 200 |
wakeMetadata | GET | /api/agents/{agentId}/wake-deliveries | agent | 200 |
claimWake | POST | /api/agents/{agentId}/wake-deliveries | agent | 200 |
validateWake | GET | /api/agents/{agentId}/wake-deliveries/{deliveryId} | agent | 200 |
acknowledgeWake | PUT | /api/agents/{agentId}/wake-deliveries/{deliveryId}/receipt | agent | 200 |
createSession | POST | /api/sessions | public | 201 |
currentSession | GET | /api/sessions/current | human | 200 |
endSession | DELETE | /api/sessions/current | human | 200 |
principals | GET | /api/principals | either | 200 |
resolvePrincipals | POST | /api/principal-resolutions | either | 200 |
roles | GET | /api/roles | either | 200 |
permissions | GET | /api/permissions | either | 200 |
members | GET | /api/members | human | 200 |
member | GET | /api/members/{memberId} | human | 200 |
changeMember | PATCH | /api/members/{memberId} | human | 202 |
memberRole | PUT | /api/members/{memberId}/role | human | 200 |
createInvitation | POST | /api/member-invitations | human | 201 |
invitations | GET | /api/member-invitations | human | 200 |
invitation | GET | /api/member-invitations/{invitationId} | human | 200 |
revokeInvitation | DELETE | /api/member-invitations/{invitationId} | human | 202 |
claimInvitation | POST | /api/member-invitations/{invitationId}/claim | public | 200 |
registrationPolicy | GET | /api/registration-policy | public | 200 |
preflight | POST | /api/enrollments/preflight | public | 200 |
introduceEnrollment | POST | /api/enrollments | public | 201 |
enrollments | GET | /api/enrollments | human | 200 |
enrollment | GET | /api/enrollments/{enrollmentId} | human | 200 |
decideEnrollment | POST | /api/enrollments/{enrollmentId}/decision | human | 202 |
exchangeEnrollment | POST | /api/enrollments/{enrollmentId}/exchange | public | 200 |
fleets | GET | /api/fleets | human | 200 |
fleet | GET | /api/fleets/{fleetId} | fleet | 200 |
changeFleet | PATCH | /api/fleets/{fleetId} | fleet | 200 |
archiveFleet | POST | /api/fleets/{fleetId}/archive | fleet | 200 |
fleetMap | GET | /api/fleets/{fleetId}/map | human | 200 |
fleetStatistics | GET | /api/fleets/{fleetId}/statistics | human | 200 |
fleetAgents | GET | /api/fleets/{fleetId}/agents | fleet | 200 |
changeFleetDelivery | PUT | /api/fleets/{fleetId}/delivery | fleet | 200 |
reportFleetConnection | PUT | /api/fleets/{fleetId}/controller-connections/{connectionId} | fleet | 200 |
fleetControl | GET | /api/fleets/{fleetId}/control | fleet | 200 |
fleetMessages | GET | /api/fleets/{fleetId}/messages | fleet | 200 |
createFleetMessage | POST | /api/fleets/{fleetId}/messages | fleet | 201 |
acknowledgeFleetMessage | PUT | /api/fleets/{fleetId}/messages/{messageId}/deliveries/{agentId} | fleet | 200 |
removeFleetAgent | DELETE | /api/fleets/{fleetId}/agents/{agentId} | fleet | 200 |
agents | GET | /api/agents | human | 200 |
agent | GET | /api/agents/{agentId} | either | 200 |
changeAgent | PATCH | /api/agents/{agentId} | human | 202 |
wakePolicy | GET | /api/agents/{agentId}/wake-policy | either | 200 |
changeWakePolicy | PUT | /api/agents/{agentId}/wake-policy | human | 200 |
deliveryPolicy | GET | /api/agents/{agentId}/delivery-policy | agent | 200 |
rooms | GET | /api/rooms | human | 200 |
room | GET | /api/rooms/{roomId} | human | 200 |
grants | GET | /api/agents/{agentId}/room-grants | either | 200 |
grant | GET | /api/agents/{agentId}/room-grants/{roomId} | either | 200 |
setGrant | PUT | /api/agents/{agentId}/room-grants/{roomId} | either | 202 |
removeGrant | DELETE | /api/agents/{agentId}/room-grants/{roomId} | either | 202 |
grantPermissions | GET | /api/agents/{agentId}/room-grants/{roomId}/permissions | human | 200 |
acceptRoomInvitation | POST | /api/agents/{agentId}/room-invitation-acceptances | agent | 200 |
ownerConversation | POST | /api/agents/{agentId}/owner-conversation | agent | 200 |
setGrantPermissions | PUT | /api/agents/{agentId}/room-grants/{roomId}/permissions | human | 202 |
previewGrants | POST | /api/room-grant-previews | human | 200 |
applyGrants | POST | /api/room-grant-changes | human | 202 |
listenerRuns | GET | /api/agents/{agentId}/listener-runs | either | 200 |
reportListener | PUT | /api/agents/{agentId}/listener-runs/{runId} | agent | 200 |
wakeNotice | PUT | /api/agents/{agentId}/wake-notices/{eventId} | agent | 202 |
policy | GET | /api/instance-policy | human | 200 |
changePolicy | PATCH | /api/instance-policy | human | 200 |
audit | GET | /api/audit-events | human | 200 |
release | GET | /api/releases/current | public | 200 |
health | GET | /api/health | public | 200 |