3 0 1 3

How do I create DACS "sub" IDs for MIP via the Web services API?

I'm trying to automate the creation of application-specific IDs for existing DACS IDs, but I can't get that to work from the Web Services API. Say I have an existing user "asmith", and I want to create "asmith#56" as a sub user for Eikon.

Initially, I'm not clear on whether this is done as an update (setDacsUserDefinition) to the user "asmith", or a creation (createDacsUserDefinition) of "asmith#56" - but I've tried both, and neither seem to do what I want.

Creating "asmith#56" with mIsMIPOn=0 makes a user in its own right named "asmith#56". With mReportedUser="asmith" and withmIsMIPOn=1, it errors out with "User name supplied is invalid".

On the other hand, updating "asmith" with mRenamedUsers=<a dacsUser object with mDacsUser=asmith#56> successfully updates any other changed attributes, but doesn't actually make a sub user.

Please help point me in the right direction. I think just knowing which approach to take will help massively, but a primer on when / how to use mRenamedUsers, mIsReportedUser and mIsMIPOn would save me a lot more trial and error.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

30.2k 34 11 17

Hello @daniel.wray,

As a disclaimer, I am a developer, rather then a dacs admin, so my understanding of what you are trying to achieve is not as complete...

I think you are looking to create new users via API?

Try not setting mName. Just mLogin. Something similar to:

_dud2 = client.factory.create('dacsUserDefinition')
_dud2.mLogin = 'asmith#56'
_res = client.service.createDacsUserDefinition(_dl, _ds, _dud2) 

You should see those new users (asmith#56) reflected within you admin ui, and should not see "user name supplied is invalid" error on create.

In addition to that, I think you are looking to set properties on the current users to co-relate them to the new eikon users and making those new ones sub-users?

So something similar to this:

_dud.mIsReportedUser = False
_dud.mIsMIPOn = True
_dud.mReportedUser = 'asmith#56'

If within dacs ui the user definition does not have what you expect, you can always delete it and try a different property:

_du.mDacsUser = 'asmith#56'
_res = client.service.deleteDacsUserDefinition(_dl, _ds, _du)  

Let us know if this approach discussion was of help?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.