$client->mail_user_add($session_id, $client_id, $mail_user_record); I know that you didn't have in mind the migration process from 'something else to ispconfig' while architecturing the database, but it would be extremely helpful this: what you demand in API could actually be mirrored in tables i.e. if you demand $client_id, $mail_user_records(which is an array of table fields), so please make $client_id a field in that table too. Just an example: i want to add mail_users for every domain in mail_domain, and again i am demanded to insert $client_id which is not found in mail_domain table. (and mail_user table doesn't have it too if i want to update MASS emails through API, i work only through api because it doesn't replicate to mail server if i work directly on databae which would be much easier...). So i need to get $client_id from web_domain table (the only place i can match domains?), but i don't have web_domains matching mail_domains.... and here starts the problems of getting right client_id for mail_domain. I hope the problem is clear. Thanks.