SymetryML Documentation
Federated learning

Create federation join

Join an existing federation using the encrypted invite obtained from the admin's `getEncrypted`/`getInvitation` call. Creates the local project, then — unless `skipCreatePolicies` is `true` — validates the join token back with the group admin before sending an initial heartbeat.

POST
/{user}/fedml/createJoin

Join an existing federation using the encrypted invite obtained from the admin's getEncrypted/getInvitation call.

Creates the local project, then — unless skipCreatePolicies is true — validates the join token back with the group admin before sending an initial heartbeat.

Authorization

SymetryMLAuth
AuthorizationBearer <token>

HMAC-SHA256 signature-based authentication: requests are signed with your secret key and sent with the Customer-ID, Sym-date, Authorization, Content-MD5 and sym-version headers. See SymetryML REST API Security for the signature algorithm and a complete example.

In: header

Path Parameters

user*string

User/Customer identifier

Query Parameters

pid*string
persist?boolean
skipCreatePolicies?boolean

If "true", skip the peer's own request-token validation call back to the group admin during the join.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

body*string

Base64-encoded encrypted content — an AES-encrypted Map, encrypted with the customer's SML secret key. Select an example below to see its decrypted equivalent.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/c1/fedml/createJoin?pid=string" \  -H "Content-Type: application/json" \  -d 'LjxfZ4/3UpJsfwd+gAG0zCY39ySC4iqeG9OuzHqjyqbZjUENTbas/8TagJmPhuMhqx7G5Ri/xg6d1SofknE6qdpgK9caL5mgK7g95qCpIxmpfioWP0Gznw6+HNOcDsVsS5NrLP3f+1H0DVlnAfoMY8g33tQ6uuRigHzF30FNe2BeeiYO8DuUMaf39v3NMOVl7R0QEJX+5O0WMFuId26zhcbKoKsxbCqupPmZhsXiFmUclrURdSijOwsdSAeCyNBbYdpH+qfI2bxtR/9Z8SuCIta/kOEoedIQ2vRqCGHZupmySyk1VbhM4KzC0X3tSk8uaYaripSEud9tRdDq4p6q+E6ADRTjtY8a2FO+iOjipc/XFP+kD4BPUaGGZ1s+2QzD+n5xm4gdEq2RhewwB1aZQWsOdXCIM+PpyPQqoGXdjHBX7nDakBNFCfkRPW+qA+nu682nlSCqY6giOfx+FVjdwmNHfzhLZi0EAi+fJHyt4C18vSAiXZonLEpPVf7b8zE4KIkRtgFSdHGaudQnCbdk+oqAo0uqMGvPGeFBEm7qZNEX6bEJoCLvGXjTlv64cv06P9K2fL4oW0gMIQLXIy8fEQ=='
{  "statusCode": 201,  "statusString": "Fed Project created with join",  "values": {}}
{  "statusCode": 400,  "statusString": "java.lang.IllegalArgumentException: Invalid Project Name: invalid char [@]",  "values": {}}
{  "statusCode": 500,  "statusString": "Generic Exception [java.lang.Exception: Project name cannot be empty]",  "values": {}}