Introduction
The UDMG Server REST API is provided by the udmg-server daemon and provides all the operations that can be performed with the UDMG Client or with the UDMG Client.
Authentication
Only Local User Account authentication is supported for the REST API.
SSO and LDAP authentication is only used for the Graphical User Interface.
Authentication of REST requests is done using basic HTTP authentication.
This authentication scheme is done using the HTTP Authorization header. To authenticate, the client must:
Obtain user login and password
Build the user ID by concatenating the login, a colon (“:”) character and the password
Encode the obtained identifier in Base64
Prefix the encoded identifier with a declaration of the basic authentication scheme (“Basic”)
For example, if the user enters the name "Aladdin" and the password "open sesame", then the client must send the following header:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
If the authentication of a request fails, the server will respond with an HTTP code .401 - Unauthorized
By default, the UDMG Server has only one "admin" user (password: "admin_password") with all rights, in order to allow the initial configuration of the gateway to be set up. For security reasons, it is strongly recommended when installing the gateway to create new users with more restricted rights, then to delete this "admin" user.
Common Operations
Refer to the original version of the waarp-gatewayd v0.7.1 server documentation for the common operations:
- Service Status
- User Management
- Transfer Management
- History Management
- Local Servers Management
- Remote Partners Management
- Rules Management
- Configuration Override
UDMG Specific Operations
In addition to what is supported by the original version of the waarp-gatewayd v0.7.1 server, the following commands have been added for UDMG:
PGP Key Management
PGP key records can be stored in the UDMG database and retrieved with the CLI or the REST API to be used by scripts or by Universal Controller tasks without having to keep them in a local keyring.
Both private and public PGP keys can be stored in the database with AES encryption.
Add Key
Add Key: JSON Example
To create a public PGP key, the syntax is as follows:
Example | JSON |
---|
Example Request | JSON
{
"name": "test1",
"owner_type": "users",
"pgp_name": "test1",
"pgp_email": "test1@example.com",
"pgp_algorithm": "4096R",
"public_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nmQINBGKYo7EBEACuZBUPLMW0SZA6jrqP5S7RPObj3xInlYR4IsPJZVfmMhJddVIQ\nMDZYfnq5QaRU2qr6qnQo1OXZOMnde8PgjSE7U1g1hWFiMyfwwdsUpPWAJc2xAVTy\ncNbubVJFKoT5xzV5bMlaFOpeeqcNXsJJlpAXCA5MNXIJgvmG6qj2RtWZwhgQGplz\nIE11kt5aODlz5zFQ0TCNFrqq8oSy5OQTD+55HR/fCqvqfz4bphpvpqJgm8gTtDtT\nHLUyoKoQAsYKfMLxG23KxPEp7qwxLQtcpa76GeO1ndwi3iN3CcTATxZ/ezOxmBXT\n68EJAQ729Mh8DWQqK2LsoK27eeV6tfbvrD+ephbm9mMvvH9510stYAGlSMyLxaUj\n+lTGFzdkqKtbbVVj0N4Be3IYkHsZ7I1VBaJAUTmg0VI/giqN3G0ChWunX2GrDlwF\nw1FvRpUh9tNxy772kmpN0QHg7PIa1d4a7MHejv8AdVpho3u5Wqs9z87+jmYgzVUM\nFm3fU72cCFHdUrYRjybf+8yo4dMId1l/iM5fg7i+RuUlKIJK5dp9cSgovvFm399J\n6Gats+Mu7Sxg/OfJ+AnfioRVfgjZVner8RW2ipsq+Cqs/HreIs4TH6fIQfOMwynN\nSPUW4sJL9B6u0y03mgm68F3YN3L4jpsV9PC+eZ+inplcyOqZ1Jm25zcY8QARAQAB\ntCl0ZXN0MSAodGVzdDEgUEdQIGtleSkgPHRlc3QxQGV4YW1wbGUuY29tPokCOQQT\nAQIAIwUCYpijsQIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEDPAvtC/\nQu1kgZoP/Rb/XFE9EojFDC/qf8zRtTiTB70Jf8rzJJ1wNLVhomYhm1iHDvd3S1cl\nStJvAkoKcUI3XXW83eLnZf80OXF2IiRKQrkvvFwW6/DxLQvwmYwWO9Dm4cW+wnGC\n5KDejZWvrGoREe7CU1d19+ScGHdfwf4rjQZp7ehIS5h542F2jWWW+KKIfQxHcWe0\nX+MneRByJ+B+X0i1zmg43q8kEOZrOZvIeHLvbv+uQErXGCIbBs/2jsALZZhzh28t\nQjDeOIUSPGYXuQZfrj7VORlcZVSMX1WppDvmHfsmKBE0F+n3O98auEqiwiyGWCTT\nh4TmW3Q7grThe6BN/R0TVImWzEFZcIaAYPUgY1u+WikH5SM1tzxNpRKOchGFnfi/\nicAVezpjh1lU+MRIuJuf6Njq9addjXmS87L82dkFHV4JangNG6yb9P4SZ7BwA0mG\nKzNVwGHkl0Qn1rFoYnGYPMPlNQg4MNacUW194KI3r62QjEXNIaItI4T6ob2s1hYD\nmnBW56l3QoEzrjVkPH4HFcalLWqdwbekzQbLSrauQvFnwCx31a+KfSQ1t9l0DO/P\nhHZp77v222fyMd6f3nYkgLUQTGMSXaa/t8EH7qCGHR0R9HTrnZYzzl6tDOPFir33\nx4KirHmRxODQLD72KDN2PZ1x25b03o31+JUfMP1lExX/2nV9Cul0uQINBGKYo7EB\nEACjBteVjv3beocCpcAEBewjbF5QiDG7VBa8dJFBiowoLBUeyOGSSkpCfk/EB7Il\n6oT/oXVwAszGoaF1hZKJ++PbcB2uY9Es4fIe8VKv2Unu3SlmidfrJuUjTeP2EXl4\n7jUEI31x5p6u2dthyvI18da/eQPXQ4PW4z8abo9q51dyw2as9SYAvMmboIJZSdxd\nGDIi/TmCQ9iUIRJ51YyVCZP2DyulilJp87XFHGHYS8/XaTdzzjlOiJHheJsX1Zml\nD8HaLveQZ5e1/eb8JvLlMb3rGjAitVbXBC+94l1E/tGtcnN4lJu+MyLvjfBTtua3\nCcx/9hYlK6UeYXM6ejP5YXzNVXjnXWMTQD1tK6fNUCjvWz77pzCU1uU0FAegHYte\n7lHt74OeRHPyhI+MZrBofEns2mk3OFDKXKdX7hMafGOwiThbV4X3xQiL5Di4HU2h\nO8Ki6co/GHZlOYESbbY1ChhtMQZDQHizc59lYFEOXt0HCKJsqJNYPybrvTgHY7n0\n2YZ5AVANtgyLmZczXb/cX9Tr3A8bNcvAxb4r93uJezd9iwXydQlNlW82+MZJlIE0\nGYJtJ3DESmsp77vVr0r37a2PnTubBdM+WIggP8kGoWXUYLfWb7hFFrYhvDcptPVC\nxYI3lBH8SwFSUXziGTi1ntzxo4PRYBTbjeaTTPS3+2WEmQARAQABiQIfBBgBAgAJ\nBQJimKOxAhsMAAoJEDPAvtC/Qu1kFMwP/jpKHV282dlGjyKanfUqVYsXJuPbsWpn\no5w+0PMdj9KmxEAzhw6fEUs5eqIXX/+IQe2XehGVipaZZLcL70CmPhLRp2KfIQ7r\nEPRSQa2vfsRHk7MCcgcGIB/q0vRo8sGUkYJnBaPdxZZTLz7wHq45rSFg4F5ELWwE\nbWoSWHMzqJgDqfFHBUUdcH9s9CQEJgPoaQ63O3FYGdga4HBUc74ZNKTsvgobzgIY\n6NXSZK/JdG5O1jo76IqYGxyn6/Rk7UnFZZdAgAadiC73fgB6R7OXlX17hEKtfLy3\n/H2lLUkfjeaCLUYK+lQLi1+Qoovt38QvD47AaU2AZXMFJ3VJBkhfvf48Cu9JkVlL\nE5ny6qSiH/ve44uDeQbPHwbrmBZnqfH4FBu8FWsYgebe1u5BoxnlrdaQPpgJmqYz\naI7FFlwez/eKwPvFb5qyi9UCB3NcY8/ih2Pkfiq588EVXLbzW2STj3T+esHnwDm7\nAO7Xkz0pO5ly7uZFHz179uA1lXCLK5PFLn2ATU3haJBeOVWseQ9W7gMSXdVzvRco\npDMqfRPoLCO02cinCFGfQJNcfhIdqwahefjScM9rfZQiQTN8HqvhQIGSCroNe1cV\ntEbNp5hU2lxQmmGZfbFWNFattz18RsP9MMGXwnOkTC2R6aWaJxwoxEV5lHdV7OJF\n7VMDO1XPOgqd\n=hElb\n-----END PGP PUBLIC KEY BLOCK-----\n",
"comment": "first test"
}
|
Example Response | Headers
Location: /api/sb_pgp/test1
|
Add Key: Properties
Property | UI Field Name | Description |
---|
name | Name | The name of the key, must be unique. |
pgp-name | PGP Name | The key user name. |
pgp-email | Email | The associated email. |
pgp-algo | PGP Algorithm | The algorithm that was used for creating the key (free text, for reference). |
valid-from | Start Date | The valid from date |
valid-to | End Date | The expiration date |
private-key | Private Key | The private key. It must be in ascii armored format. |
public-key | Public Key | The public key. It must be in ascii armored format. |
passphrase | Passphrase | The passphrase of the private key. |
comment | Comment | An additional comment to describe the PGP key. |
List keys
List Keys: JSON Example
Example | JSON |
---|
Example Response | JSON
{
"pgp": [
{
"name": "test1.key",
"owner_type": "users",
"pgp_name": "test1.key",
"pgp_email": "test1@example.com",
"pgp_algorithm": "rsa2048",
"comment": "first test"
},
{
"name": "test1.pub",
"owner_type": "users",
"pgp_name": "test1",
"pgp_email": "test1@example.com",
"pgp_algorithm": "rsa2048",
"public_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQENBGKd5IMBCACz6jW8UpCGd5mVhqFVwNklZem7OAaOCG3LoIZK/EsI3b+ex0n4\nbQmXmKjZeCydqtVbeJl6INip9vlj0Tiz1k+eNqRsPbo5RtQk/ObPQz0uwmmK0Xuo\nAmG6ECsv+g1jG6B6Sz2Gq3HuUO7DA77ltVWqx7uQycMDGrJlgR9Gyplnc9Nuir+G\nsx1BYgcr5wpGOk/YdH94sGtIaYYhV7JMhVHhLFonhzEIwCpOx26ISd8XGoiAdW7V\n2X3DsmOuZJVBK8v2MGDu1TIa5/W/wF77RCZmYxULv7Xt8b/o91vz2a6dJcB1LDO6\nYNoqZAev4ynXxX6tC/tVrV1RoqmsFvQvCG8RABEBAAG0GXRlc3QxIDx0ZXN0MUBl\neGFtcGxlLmNvbT6JAVQEEwEIAD4WIQTZR01OCmqYzlvbtAulzqxSXGHdlAUCYp3k\ngwIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRClzqxSXGHdlFNA\nB/0cNN5/ZfEdU31OBc806WR0/Z6tYCYot0a0XBGL3v8gVCgf9PAibVg3WxDH0YwB\nTy0pphu1YThZcBG//WZjWC2006nZUVgCBwb/phVozs1k5N8bHyO6jwywPz2nctX7\n5f2gTksNfJKbIm+3mt6SxmDC4cfmVzXDfEkr/d/6AZ/VX4gm5mApPyxiPW5U8M1Y\nDXwspo4h3cn1r37w8SZB0GBMQXVk1rCaIqXnw+kDNgjXFDsxJKQL/uEqPK12UP3P\nZPhz0pKKq8f8r0H9ctmee0J25lG/gPDt+Om8tGvbcIhrXHEE44dIMsE5tdcSM7zn\nCnpDA44AOzr9wxI8MA0IkicZuQENBGKd5IMBCAC5ToCtudbiZblXfgHhLS4bpG/M\nnClOalq4Zo5+vWJnXkavNUdvUz0v+2nChSCVg7XpQLelov4EyEbPFsZsCvisRSmW\nn2ECWKmIssT72/N1ml2elYopU9CFnSrpy8/49G5GvBjKlHS/OFtZNM8rbvPal5PQ\nUO5dZsFeZjGxFt99zFlt1BM5tWwd9cbD4FMSo2Dw6isE5ICqKVsnWnobr4USTuuT\n8Zi2O+Ze7leGSlM/dGdVwM39o4b8vO7nDly98ztRhfobjOQIG/n1pIvQmTAspgGL\nYkDnosF4gF5oa0LIG43FaK1OxCVHoGhnHvsPV4N0rcAHW0C+cblRO0+SjrqlABEB\nAAGJATwEGAEIACYWIQTZR01OCmqYzlvbtAulzqxSXGHdlAUCYp3kgwIbDAUJA8Jn\nAAAKCRClzqxSXGHdlGw7B/0XULMy9mDzQi9PN2i+QzQxKjAofSUJHYcl9tpsG+8D\nmQV2sNdGwrdTynKqGBIMcjY+ryY6Jjigqjwa2eg5d3AjGHCDdxJdBABJjyfHQxwE\nFqmAyipEW5z9HpKZS+mPva+6sINBXSvSoHgOkM1vwAIHRJc0tSD0i4TiUnbPlW2s\noJAMZbc9WcQmr4X+kUgnG8C6LJw3x3kpU2AOGfQmF9uIM0bgIc0FclxtCc8OTq6A\nSReh9/IGRgoXDY9TKoU1h6fzAdH+xQv0WCmr0vyrI0akB0WFaPkLw6Xn5YBrqgPa\nyiaWoy3mBR5JDkBZXs72Eg3eibSuwVbCzNI4p73BpivL\n=rp6q\n-----END PGP PUBLIC KEY BLOCK-----",
"comment": "first test"
}
]
}
|
List Keys: URI Parameters
| Description | Specifications | Required | Mutually Exclusive With |
---|
limit | The maximum number of keys allowed in the response. Set to 20 by default. | String; URI parameter | N |
|
offset | Index of the first returned entry (default: 0). | String; URI parameter | N |
|
sort | The setting and order in which keys will be displayed. | String; URI parameter Valid values: | N |
|
Get a key
Get a Key: JSON Example
Example | JSON |
---|
Example Response for a privatekey | JSON
{
"name": "test1.key",
"owner_type": "users",
"pgp_name": "test1.key",
"pgp_email": "test1@example.com",
"pgp_algorithm": "rsa2048",
"private_key": "-----BEGIN PGP PRIVATE KEY BLOCK-----\n\n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\n=7m6a\n-----END PGP PRIVATE KEY BLOCK-----",
"passphrase": "hello",
"comment": "first test"
}
|
Example Response for a public key | JSON
{
"name": "test1.pub",
"owner_type": "users",
"pgp_name": "test1",
"pgp_email": "test1@example.com",
"pgp_algorithm": "rsa2048",
"public_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQENBGKd5IMBCACz6jW8UpCGd5mVhqFVwNklZem7OAaOCG3LoIZK/EsI3b+ex0n4\nbQmXmKjZeCydqtVbeJl6INip9vlj0Tiz1k+eNqRsPbo5RtQk/ObPQz0uwmmK0Xuo\nAmG6ECsv+g1jG6B6Sz2Gq3HuUO7DA77ltVWqx7uQycMDGrJlgR9Gyplnc9Nuir+G\nsx1BYgcr5wpGOk/YdH94sGtIaYYhV7JMhVHhLFonhzEIwCpOx26ISd8XGoiAdW7V\n2X3DsmOuZJVBK8v2MGDu1TIa5/W/wF77RCZmYxULv7Xt8b/o91vz2a6dJcB1LDO6\nYNoqZAev4ynXxX6tC/tVrV1RoqmsFvQvCG8RABEBAAG0GXRlc3QxIDx0ZXN0MUBl\neGFtcGxlLmNvbT6JAVQEEwEIAD4WIQTZR01OCmqYzlvbtAulzqxSXGHdlAUCYp3k\ngwIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRClzqxSXGHdlFNA\nB/0cNN5/ZfEdU31OBc806WR0/Z6tYCYot0a0XBGL3v8gVCgf9PAibVg3WxDH0YwB\nTy0pphu1YThZcBG//WZjWC2006nZUVgCBwb/phVozs1k5N8bHyO6jwywPz2nctX7\n5f2gTksNfJKbIm+3mt6SxmDC4cfmVzXDfEkr/d/6AZ/VX4gm5mApPyxiPW5U8M1Y\nDXwspo4h3cn1r37w8SZB0GBMQXVk1rCaIqXnw+kDNgjXFDsxJKQL/uEqPK12UP3P\nZPhz0pKKq8f8r0H9ctmee0J25lG/gPDt+Om8tGvbcIhrXHEE44dIMsE5tdcSM7zn\nCnpDA44AOzr9wxI8MA0IkicZuQENBGKd5IMBCAC5ToCtudbiZblXfgHhLS4bpG/M\nnClOalq4Zo5+vWJnXkavNUdvUz0v+2nChSCVg7XpQLelov4EyEbPFsZsCvisRSmW\nn2ECWKmIssT72/N1ml2elYopU9CFnSrpy8/49G5GvBjKlHS/OFtZNM8rbvPal5PQ\nUO5dZsFeZjGxFt99zFlt1BM5tWwd9cbD4FMSo2Dw6isE5ICqKVsnWnobr4USTuuT\n8Zi2O+Ze7leGSlM/dGdVwM39o4b8vO7nDly98ztRhfobjOQIG/n1pIvQmTAspgGL\nYkDnosF4gF5oa0LIG43FaK1OxCVHoGhnHvsPV4N0rcAHW0C+cblRO0+SjrqlABEB\nAAGJATwEGAEIACYWIQTZR01OCmqYzlvbtAulzqxSXGHdlAUCYp3kgwIbDAUJA8Jn\nAAAKCRClzqxSXGHdlGw7B/0XULMy9mDzQi9PN2i+QzQxKjAofSUJHYcl9tpsG+8D\nmQV2sNdGwrdTynKqGBIMcjY+ryY6Jjigqjwa2eg5d3AjGHCDdxJdBABJjyfHQxwE\nFqmAyipEW5z9HpKZS+mPva+6sINBXSvSoHgOkM1vwAIHRJc0tSD0i4TiUnbPlW2s\noJAMZbc9WcQmr4X+kUgnG8C6LJw3x3kpU2AOGfQmF9uIM0bgIc0FclxtCc8OTq6A\nSReh9/IGRgoXDY9TKoU1h6fzAdH+xQv0WCmr0vyrI0akB0WFaPkLw6Xn5YBrqgPa\nyiaWoy3mBR5JDkBZXs72Eg3eibSuwVbCzNI4p73BpivL\n=rp6q\n-----END PGP PUBLIC KEY BLOCK-----",
"comment": "first test"
}
|
Delete a key
Audit Management
Audit records are automatically stored in the UDMG database after updates pertaining to configuration item: user, server, partner, rule and accounts.
List audit records
GET /api/sb_audit
- Displays a list of all audit records meeting the criteria below.
long option | description |
---|
limit= | The maximum number of records allowed in the response. Set to 20 by default. |
offset= | Index of the first returned entry (default: 0). |
sort=[id+|id-] | The setting and order in which records will be displayed. The possible choices are: |
Example
GET /api/sb_pgp?sort=id-&limit=2
{
"audit": [
{
"id": 87,
"action": "DELETE",
"table_name": "users",
"table_key": 4,
"before": "{\"ID\":4,\"Owner\":\"waarp-gateway\",\"Username\":\"toto\",\"PasswordHash\":\"$2a$12$J94lRBsky2Eud/D/U5Fk7urldJY.le3YwFbMmIk5iZTDpKabt/Loi\",\"Permissions\":0}",
"after": "",
"status": "SUCCESS",
"info": "",
"user": 1,
"date": "2022-06-20T07:54:10.009859Z",
"parent_id": ""
},
{
"id": 86,
"action": "CREATE",
"table_name": "users",
"table_key": 4,
"before": "",
"after": "{\"ID\":4,\"Owner\":\"waarp-gateway\",\"Username\":\"toto\",\"PasswordHash\":\"$2a$12$J94lRBsky2Eud/D/U5Fk7urldJY.le3YwFbMmIk5iZTDpKabt/Loi\",\"Permissions\":0}",
"status": "SUCCESS",
"info": "",
"user": 1,
"date": "2022-06-20T07:54:04.376231Z",
"parent_id": ""
}
]
}
Get an audit record
GET /api/sb_audit/<id>
- Retrieves an audit record details.
Example
GET /api/sb_audit/1969
{
"id": 1969,
"action": "START",
"table_name": "local_agents",
"table_key": 86,
"before": "{\"ID\":86,\"Owner\":\"mft-gw-0\",\"Name\":\"clibs_serv_ftp_server\",\"Address\":\"0.0.0.0:4060\",\"Protocol\":\"ftp\",\"Enabled\":true,\"RootDir\":\"clibs_ftp_dir\",\"ReceiveDir\":\"in\",\"SendDir\":\"out\",\"TmpReceiveDir\":\"tmp\",\"ProtoConfig\":{}}",
"after": "",
"status": "SUCCESS",
"info": "",
"user": 1,
"date": "2023-05-02T14:56:55.70779Z",
"parent_id": ""
}