SymetryML Documentation
Federated learning

Create federation

Create a new federated project and stand up its federation group (an AWS SNS topic for AWS-type federations, or a NATS subscription for NATS-type federations) from the encrypted configuration. On any failure, the partially-created project is deleted server-side.

POST
/{user}/fedml/create

Create a new federated project and stand up its federation group (an AWS SNS topic for AWS-type federations, or a NATS subscription for NATS-type federations) from the encrypted configuration.

On any failure, the partially-created project is deleted server-side.

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

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/create?pid=string" \  -H "Content-Type: application/json" \  -d 'KjxfT4/2TpJsfwd+gAG0zCY39ySC4iqeG9OuzHqjyqbZjUENTbas/8TagJmPhuMhqx7G5Ri/xg6d1SofknE6qdpgK9caL5mgK7g95qCpIxmpfioWP0Gznw6+HNOcDsVsS5NrLP3f+1H0DVlnAfoMY8g33tQ6uuRigHzF30FNe2AzwHq+/C1J7LsXqcp5dPYehwWhCANpAMw8RjoaQ3iGz46CUyQ0PZ5OzPg2emzwoHYRy1lAZwEyAh3rt6aZvGeh8IwAhLemZRDuvnUAqmLLMkcS/v60fTt5t5qcPeMg4yujbtzDWo/g6bontPS+TzIHqHdCPdZp793kzNidwGX/92WaPvvpcHmS7Eb9+GNKzI/IbwKb8Tbc2xPa/viYrlwF//Ov/pexyEDUr10hoMACDPIaUb16eMIPntphHhEh84k='
{  "statusCode": 201,  "statusString": "Project Created with id:fedadmin",  "values": {}}

{  "statusCode": 400,  "statusString": "Project name cannot be empty",  "values": {}}

{  "statusCode": 500,  "statusString": "Generic Exception [...]",  "values": {}}