Explicit idempotent direct fleet input#

PropertyValue
Servicecrossfire
OperationcreateFleetMessage
MethodPOST
Path/api/fleets/{fleetId}/messages
Authenticationfleet
Success status201
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesagent.configure.owned, agent.configure.any

Listed permission codes are alternatives, not token scopes. The service also checks access to the requested records and rejects stale revisions or controller generations.

Path parameters#

object; fields below; unknown fields rejected

Field pathRepresentation and constraints
fleetIdlowercase opaque UUID

Validation#

check.object({ fleetId: check.identifier })

Referenced definitions:

Query parameters#

custom validation: none ; see function below

Query parameters are URL text. The validation function below specifies their format, defaults and combinations. Pagination applies only to operations that use it.

Additional checks#

The following checks apply in addition to the field limits.

Constraint on value:

export function none(input: unknown) {
    const parsed = listQuery([])(input);
    return parsed.ok ? success({}) : parsed;
}

Validation#

query.none

Referenced definitions:

Request body#

object; fields below; unknown fields rejected ( messageCreation )

Field pathRepresentation and constraints
messageIdlowercase opaque UUID
bodyplain-text string; at most 16384 UTF-8 bytes; allowed whitespace controls only; constraint: Expected a fleet message of 1–4096 characters ( messageBody )

Additional checks#

The following checks apply in addition to the field limits.

Constraint on body:

body => !!body.trim() && body.length <= 4096

Validation#

fleetControl.messageCreation

Referenced definitions:

Response data#

object; fields below; unknown fields rejected ( fleetMessageSummary )

Field pathRepresentation and constraints
messageIdlowercase opaque UUID
bodyplain-text string; at most 16384 UTF-8 bytes; allowed whitespace controls only; constraint: Expected a fleet message of 1–4096 characters ( messageBody )
createdAtexact JSON integer; 0…9007199254740991
expiresAtexact JSON integer; 0…9007199254740991
totalexact JSON integer; 0…100
deliveredexact JSON integer; 0…100
failedexact JSON integer; 0…100
skippedexact JSON integer; 0…100
pendingexact JSON integer; 0…100
expiredexact JSON integer; 0…100

Additional checks#

The following checks apply in addition to the field limits.

Constraint on body:

body => !!body.trim() && body.length <= 4096

Validation#

fleetControl.fleetMessageSummary

Referenced definitions:

Response envelope#

A successful JSON response contains data and meta. Replace the data placeholder below with the response fields described above. Errors contain error instead of data.

{
  "data": "<value matching the response-data validator>",
  "meta": {
    "requestId": "00000000-0000-0000-0000-000000000001"
  }
}