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 0 SH 1 SS 2 CG 3 UD 4 EC 6 RS 8 SZ (Size) 9 ET (Exec Time) 12 HC (Header Challenge / Signature Response) 16
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.