You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Admin API schemas definition for the Participant contains two Identifiers, the name, and an id as follows:
Participant:
title: Participanttype: objectproperties:
name:
description: The name of the participant.type: stringexample: hubid:
description: The identifier of the participant in the form of a fully qualified domain name combined with the participant's `fspId`.type: stringexample: dev1-central-ledger.mojaloop.live/participants/hub
There is some confusion between the two. In a traditional REST context, one would expect to use the id to interact with Admin API's operations, however, the name is actually used for this purpose.
2.2 Current Behaviour
The name is the functional identifier and is used for all Admin API operations such as the GET /participants/{name}.
However, I am uncertain as to the use & requirements for the id as I am not aware of any Hub implementor, FSPs or Mojaloop Services that utilise this Fully Qualified Domain Name (FQDN).
Example of the Admin API GET /participants response:
mdebarros
changed the title
Change Request: Returned Admin API identifier usage unclear
Change Request: (WIP) Returned Admin API identifier usage unclear
Aug 23, 2021
mdebarros
changed the title
Change Request: (WIP) Returned Admin API identifier usage unclear
Change Request: (WIP) Admin API identifier usage is unclear
Aug 23, 2021
Thanks for this Miguel. I've had similar confusions about the ids and names in the Admin API.
Before we discuss the options here, perhaps we should use the term "Unique Identifier" instead of "Datastore identifier". I'm concerned that the underlying choice of database, or database concepts have crept into this API design.
Now, to the id and name issue:
In my ideal world, I think our API should have:
A human-readable name for a participant to present to real humans accessing UI elements.
A machine-readable identifier for API interactions with that participant (what we are currently using name for). who creates this identifier would be up for debate, but I think it should be either the DFSP or Hub operator, not the Database.
As for the FQDN id, my preference would be to change this field to be a string ID field, but that would be a breaking change.
Perhaps to side-step breaking changes, we could support 2 new fields:
pid - A participantId string with no special characters, spaces, etc.
Open API for FSP Interoperability - Change Request
Table of Contents
1. Preface
___1.1 Change Request Information
1.2 Document Version Information
2. Problem Description
___2.1 Background
The Admin API schemas definition for the Participant contains two Identifiers, the
name
, and anid
as follows:There is some confusion between the two. In a traditional REST context, one would expect to use the
id
to interact with Admin API's operations, however, thename
is actually used for this purpose.2.2 Current Behaviour
The
name
is the functional identifier and is used for all Admin API operations such as theGET /participants/{name}
.However, I am uncertain as to the use & requirements for the
id
as I am not aware of any Hub implementor, FSPs or Mojaloop Services that utilise this Fully Qualified Domain Name (FQDN).Example of the Admin API
GET /participants
response:2.3 Requested Behaviour
To be discussed
3. Proposed Solution Options
To be discussed
The text was updated successfully, but these errors were encountered: