Response Headers

Developer reference for the fixed RAIDA response header and the status codes most frontend and tooling integrations care about.

Overview

RAIDA responses still use a fixed 32-byte header. The newer 48-byte request-side preamble does not change the response header size. Clients should parse the response header first, then interpret the body according to the command family and status byte.

Parsing rules

  • Status is byte 2 of the response header.
  • Echo bytes let the client match the response to the originating request.
  • The signature/challenge block is part of the header, not the body.

32-byte response header layout

RI SH SS CG UD UD EC EC RS SZ SZ SZ ET ET ET ET HC HC HC HC HC HC HC HC HC HC HC HC HC HC HC HC
Offset Bytes Name Purpose
01RIResponding RAIDA index.
11SHResponding shard identifier.
21SSResponse status code.
31CGCommand group echoed back by the server.
4-52UDUDP framing/count metadata.
6-72ECClient echo bytes from the request header.
81RSReserved byte.
9-113SZResponse body size.
12-154ETExecution time.
16-3116HCHeader signature / challenge response material.

Field reference

Field Developer note
StatusThis is the primary dispatch point for client handling.
Body sizeUse this to know whether a mixed-status bitfield, ticket, object, or other payload should follow.
Execution timeUseful for telemetry and RAIDA health scoring, but not for protocol correctness.
Header challenge/signatureUse when the command family requires response verification against the original request challenge.

Common success statuses

Code Name Typical meaning
241ALL_PASSAll requested items passed.
242ALL_FAILAll requested items failed.
243MIXEDMixed result set. The body usually carries a bitfield or command-specific detail.
244TEST_GOODLoopback/diagnostic success.
250SUCCESSGeneric success for non-auth batch flows.

Common error statuses

Code Name Meaning
5INVALID_COMMAND_GROUPUnknown command group.
6INVALID_COMMANDUnknown command code.
16INVALID_PACKET_LENGTHHeader or body length is not valid.
27INVALID_ENCRYPTION_CODEUnsupported request encryption type.
33INVALID_EOFMissing 0x3E 0x3E terminator.
34INVALID_ENCRYPTIONThe encrypted body could not be validated or decrypted.
37INVALID_CRCChallenge CRC mismatch.
38ADMIN_AUTHAdmin authentication failed.
39COINS_NOT_DIVRequested change operation is not denomination-safe.
40INVALID_SN_OR_DENOMINATIONInvalid denomination or serial number.
194FILESYSTEMStorage/object operation failed at the filesystem layer.
198INVALID_PARAMETEROne or more supplied parameters are invalid.
199INVALID_PANInvalid proposed authenticity number.
200INVALID_ANInvalid authenticity number.
201FILE_EXISTSObject or file already exists.
202FILE_NOT_EXISTRequested object or file was not found.
206RAIDA_TIMEOUTRepair/healing timed out.
207INVALID_HMACHMAC validation failed.
208FIND_NEITHERNeither current AN nor PAN matched.
209FIND_ALL_ANAll matches were against the current AN.
210FIND_ALL_PANAll matches were against the PAN.
211FIND_MIXEDThe result set contains both AN and PAN matches.
217RAIDA_CONNECTIONThe requested RAIDA connection failed at the network layer.
252-255INTERNAL / TEMPORARY / BUSY / PERMANENTServer-side failure classes.

Implementation notes

Client handling recommendations

  • Treat 241, 242, 243, and 250 as the main success-family statuses.
  • Do not collapse INVALID_HMAC (207) into connection failures.
  • Do not collapse RAIDA_CONNECTION (217) into cryptographic failures.
  • Always interpret the response body in combination with the command family and status byte.