Name: registration Type: request Purpose: > Define ("create") a new participant Response: registration-confirmation Inherits: message Elements: Signature: { required: true } From: { required: true } Date: { required: true } Participant-Id: { required: ['Name'], type: identity } Name: { required: ['Participant-Id'], type: string, min_length: 3, max_length: 64 } Credential: { type: string, min_length: 3, max_length: 96 } Credential-Permanence: { type: boolean } Consent-Statement: { type: string, max_length: 512 } Attributes: { type: object, encryption_required: true } Flags: { type: list, item_type: string, item_min_length: 3, item_max_length: 32 } Notes: > The Credential element must contain the SHA256 hash of the original credential which will be used for key submission. If no Participant-Id is provided, the server will generate one based on the provided Name. If Credential-Permanence is missing or set to false, the credential can only be used once for submitting a key. Rejection-Codes: 31: Sender is not authorized to register participants 41: Missing or differing consent statement 42: Participant ID has invalid domain 43: Participant already exists