February 2023
MDM Public API
Public API (Recent Innovations)
• Search • Ingress
- Elastic Search • Match & Merge
- Advanced Search • Egress
- Search Match
• Business Entity Master APIs – GET, PUT, PATCH, POST, DELETE
- Get Master BE using XREF source details
- See the content Meta Data of the Master and XREF
- Read Source records of a Master
• Business Entity XREF APIs – GET, PUT, PATCH
• Relationship (Hierarchy relationships ) APIs
• Merge / UnMerge APIs
• MDM Job Instance
- Get Job Details
- Search & Filter Job
- Create Job Instance
2 © Informatica. Proprietary and Confidential.
Public API
Current Innovations
• Create Master and XREF using Source Last Updated Date
• Update Source Records using Source Last Updated Date
3 © Informatica. Proprietary and Confidential.
Public API Help
4 © Informatica. Proprietary and Confidential.
IICS Login
Public Business Entity APIs : Login to IICS
• In-order for customers to use Public API IICS Login and Logout API are required to be used
- https://informatica-pod.com/saas/public/core/v3/login
- https://informatica-pod.com/saas/public/core/v3/logout
User Persona: Authorized License Access
6 © Informatica. Proprietary and Confidential.
Search APIs
Elastic Search
Search APIs
• Search Public API – MDM Search Public
API is available for customers using the
end point
- https://informatica-
pod.com/search/public/api/v1/search
E.g., POST https://use4-mdm.dm-
us.informaticacloud.com/search/public/api/v1/search
• In-order for customers to use Search Public
API IICS Login and Logout API are required to
be used
- https://informatica-pod.com/identity-
service/api/v1/Login
- https://informatica-pod.com identity-
service/api/v1/Logout
User Persona: Authorized License Access
8 © Informatica. Proprietary and Confidential.
Search API - Points to Note
• Search returns the results in a Fuzzy search
• For example, searching "blue sky" returns a fuzzy search with records “light blue
sky”, “blue”, “sky”, “blue sky”, “blue skies” “blue moon”.
• To search for exact string, use ”\”blue sky\”" will return record “blue sky”
• Search API works the same way as the Customer 360 Search
User Persona: Authorized License Access
9 © Informatica. Proprietary and Confidential.
Advanced Search APIs (Field Search)
• Search Public API can further be enhanced to have “field” search as well using the body parameter
“fields”
User Persona: Authorized License Access
10 © Informatica. Proprietary and Confidential.
Advanced Search APIs (Field Search) – Points to note
• Search can use either “search” or “fields” in the request body but not both
User Persona: Authorized License Access
11 © Informatica. Proprietary and Confidential.
Search Match APIs
Public APIs : Search Match APIs
• Performs Real-time matching
• API fetches records based on match model configurations
- User can provide match model name or select any of the published match models as default model to be used by API
- User can provide only the values of the attributes he has, and API can internally use appropriate match rules from
available match models to fetch matching records
• Format (with input match model): <baseApiUrl>/match-ng-pair-
gen/public/api/v1/searchmatch/<businessEntity>?matchmodel=<matchModelId>&version=<matchModelVersion>
• Example: POST https://qa-pod1-mdm.mrel.infaqa.com/match-ng-pair-
gen/public/api/v1/searchmatch/c360.person?matchmodel=060b18de-26f2-4007-b1d0-466ba61fee16&version=1
• Format (without input match model): <baseApiUrl>/match-ng-pair-gen/public/api/v1/searchmatch/<businessEntity>
• Example: POST https://qa-pod1-mdm.mrel.infaqa.com/match-ng-pair-gen/public/api/v1/searchmatch/c360.person
13 © Informatica. Proprietary and Confidential.
Public APIs : Search Match
14 © Informatica. Proprietary and Confidential.
Public APIs : Search Match
User Persona: Authorized License Access
15 © Informatica. Proprietary and Confidential.
Public APIs : Search Match – Points to Note
• The matchModelId and
matchModelVersion can be found on the
match screen in config UI
• The config UI for match models screen
has an option to select Default Model for
the Search Match API
16 © Informatica. Proprietary and Confidential.
Business Entity APIs
Master
Public APIs : Business Entity Master APIs
• Read Master record – GET
• Read Source Records of Master - GET
• Create Master record – POST
• Modify Master record - PUT, PATCH
• Delete Master record – DELETE
<baseAPIURL>/business-entity/public/api/v1/entity/<businessEntity>
18 © Informatica. Proprietary and Confidential.
Public APIs : Master Read (GET - by business id)
• Read the master business entity using GET
- Read : https://informatica-pod.com/business-
entity/public/api/v1/entity/<businessEntity>/<bu
sinessId>
• Use “?_showContentMeta=true” at the end of the
URL endpoint to get the trust score details
E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.person/298672866969679848732812
91214?_showContentMeta=true
User Persona: Authorized License Access
19 © Informatica. Proprietary and Confidential.
Public APIs : Master Read (GET – using source )
• Read Get the Master Business Entity using
Source XREF details
- Read : https://informatica-pod.com/business-
entity/public/api/v1/entity/<businessEntity>/<so
urceSystem>/<sourcePKey>
• Use “?_showContentMeta=true” at the end of the
URL endpoint to get the trust score details
E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.person/c360.default.system/9
User Persona: Authorized License Access
20 © Informatica. Proprietary and Confidential.
Public APIs : Read Source Records(Get Entity Members)
• Read the source records of a master record
- Read : https://informatica-pod.com/business-entity/public/api/v1/entity-member/c360.person/<businessId>
E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-entity/public/api/v1/entity-member/c360.person/MDM000005NM9HB
User Persona: Authorized License Access
21 © Informatica. Proprietary and Confidential.
Public APIs : Master Create (POST)
• Create a Master Business Entity (sourcePKey is optional and if not passed gets created automatically)
• In case if a workflow is setup then the response will have “approvalRequired”:true
Format: https://informatica-pod.com/business-entity/public/api/v1/entity/<businessEntity>?sourceSystem=<system>[&sourcePKey=<pkey>]
Sample Payload :
User Persona: Authorized License Access
22 © Informatica. Proprietary and Confidential.
Public APIs : Master Create (POST)
E.g., POST https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.organization?sourceSystem=c360.default.system&sourcePKey=89
Payload:
{
"name": "Organization API2",
"numberOfEmployees": 12,
"companyType": {
"Code": "Chartered"
},
"dateOfIncorporation": "2021-06-01",
"TaxDetail": [
{
"taxNumberType": {
"Code": "ITIN"
},
"taxNumber": "12"
}
]
}
User Persona: Authorized License Access
23 © Informatica. Proprietary and Confidential.
Public APIs : Master Update (PATCH)
• Updates a Master Business Entity
• In case if a workflow is setup then the response will have “approvalRequired”:true
Format : https://informatica-pod.com/business-entity/public/api/v1/entity/<businessEntity>/<businessid>?sourceSystem=<system>
Sample Payload :
User Persona: Authorized License Access
24 © Informatica. Proprietary and Confidential.
Public APIs : Master Update (PATCH)
E.g., PATCH https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity/c360.organization/30023301474850722558274978850?sourceSystem=c360.default.system
Sample Payload :
[
{
"op": "replace",
"path": "name",
"value": "jacob"
},
{
"op": "replace",
"path": "lastName",
"value": "Bejoy"
}
]
User Persona: Authorized License Access
25 © Informatica. Proprietary and Confidential.
Public APIs : Master Update (PUT)
• Updates a Master Business Entity
• In case if a workflow is setup then the response will have “approvalRequired”:true
Format : PUT https://informatica-pod.com/business-entity/public/api/v1/entity/< entity internal
id>/<businessid>?sourceSystem=<system>
User Persona: Authorized License Access
26 © Informatica. Proprietary and Confidential.
Public APIs : Master Update (PUT) – Points to note
• PUT does not delete fields. E.g. If the user passes FirstName and doesn’t pass MiddleName
then it is not deleted.
• PUT requires all the Mandatory fields to be passed.
User Persona: Authorized License Access
27 © Informatica. Proprietary and Confidential.
Public APIs : Master Delete (DEL)
Format : https://informatica-pod.com/business-entity/public/api/v1/entity/<entity name>/<businessid>?sourceSystem=<system>
User Persona: Authorized License Access
28 © Informatica. Proprietary and Confidential.
Business Entity APIs
Source /XREF
Public APIs : Business Entity Source APIs
• Read Source record - GET
• Modify Source record - PUT, PATCH
<baseAPIURL>/business-entity/public/api/v1/entity-xref/<businessEntity>/<source-
system>/<source Pkey>
Known Limitations
• Delete Source record is not supported
30 © Informatica. Proprietary and Confidential.
Public APIs : Source(XREF) Read (GET)
• Read the XREF business entity using GET
Format : https://informatica-pod.com/business-
entity/public/api/v1/entity-
xref/<businessEntity>/<source-system>/<source
Pkey>
E.g., GET https://qa-pod1-mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/c360.default.system/ex6081a3f827ae644
9718203d8
User Persona: Authorized License Access
31 © Informatica. Proprietary and Confidential.
Public APIs : Source(XREF) Update (PUT)
• Updates the XREF business entity
using PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>
E.g., PUT https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002
User Persona: Authorized License Access
32 © Informatica. Proprietary and Confidential.
Public APIs : Source(XREF) Update (PUT) - Points to
note
- Unlike Master API for PUT, Source PUT API delete fields. E.g. If the user passes
FirstName and doesn’t pass MiddleName is deleted.
- PUT requires mandatory fields of the business entity to be passed
User Persona: Authorized License Access
33 © Informatica. Proprietary and Confidential.
Public APIs : Source(XREF) Update (PATCH)
• Updates the XREF business entity using
PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>
E.g., PATCH https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002
User Persona: Authorized License Access
34 © Informatica. Proprietary and Confidential.
Business Entity APIs using
Source LUD
Master/Source
Public APIs : Source(XREF) Update (PATCH) with source LUD
• Updates the XREF business entity using
PATCH
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>
E.g., PATCH https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002
User Persona: Authorized License Access
36 © Informatica. Proprietary and Confidential.
Source(XREF) Update (PUT) with source LUD
• Updates the XREF business entity using
PUT
Format : <baseApiUrl>/business-
entity/public/api/v1/ entity-
xref/c360.person/<source-
system>/<sourcePKey>
E.g., PUT https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
xref/c360.person/microsoft/kr_002
User Persona: Authorized License Access
37 © Informatica. Proprietary and Confidential.
Relationship APIs
Public APIs : Relationship APIs
• Filter Relationships (using FROM, TO)
• Read Relationships - GET
• Create Relationships – POST
• Modify Relationships - PUT
• Delete Relationships – DEL
<baseAPIURL>/business-entity/public/api/v1/relationship/<relationshipInternalID>?
sourceSystem=<sourceSystem>
For hierarchy relationships
<baseApiURL>/public/api/v1/relationship/<relationship_Internal_ID>?
sourceSystem=<sourceSystem>[&hierarchyType=....&hierarchyId=]
39 © Informatica. Proprietary and Confidential.
Public APIs : Relationship Filter (POST)
• Filter the relationship for a
business entity record
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/
<relationshipInternalID>/filter
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/c360_p
erson_to_c360_organization/filter
User Persona: Authorized License Access
40 © Informatica. Proprietary and Confidential.
Public APIs : Relationship Read (GET)
• Read the relationship details
between two business entity
records
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relatio
nshipInternalID>/
<relationshipbusinessID>?_showContent
Meta=true
E.g., GET https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_o
f/30142770971179375003667162584?_show
ContentMeta=true
User Persona: Authorized License Access
41 © Informatica. Proprietary and Confidential.
Relationship Create / Update / Delete API - Points to Note
• The relationship businessID can be taken from Filter API
• The relationship attributes should be created by the MDM designer in Business 360.
• Relationship API would need the Internal Id/GUID for the Relationship Name and
attributes used. In order to get the internal ID/GUID, the metadata API needs to be
used.
- <baseApiUrl>/metadata/api/v2/objects/tenantModel/datamodel
- For example, in the below hierarchy, to get the internal id for relationship “Work for” and name of the
label “Employee Number
User Persona: Authorized License Access
42 © Informatica. Proprietary and Confidential.
Relationship Create / Update / Delete API - Points to Note
- E.g. GET https://qa-pod1-mdm.mrel.infaqa.com/metadata/api/v2/objects/relationship/?_limit=1000&name=Work+for
2
3
User Persona: Authorized License Access
43 © Informatica. Proprietary and Confidential.
Relationship Create / Update / Delete API - Points to Note
FRS Relationship
User Persona: Authorized License Access
44 © Informatica. Proprietary and Confidential.
Relationship Create / Update / Delete API - Points to Note
Hierarchy Relationship
User Persona: Authorized License Access
45 © Informatica. Proprietary and Confidential.
Relationship Create / Update / Delete API - Points to Note
For hierarchy relationships Hierarchy Relationship
<baseApiURL>/public/api/v1/relationship/<relationship_Internal_ID>?
sourceSystem=<sourceSystem>[&hierarchyType=....&hierarchyId=]
hierarchyId
hierarchyType
User Persona: Authorized License Access
46 © Informatica. Proprietary and Confidential.
Public APIs : Relationship Create (POST)
• Creates relationship between two
business entity records
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relatio
nshipInternalID>?sourceSystem=<source-
system>
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_
of?sourceSystem=c360.default.system
User Persona: Authorized License Access
47 © Informatica. Proprietary and Confidential.
Public APIs : Relationship Update (PUT)
• Updates the relationship attributes of a
relationship
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship/<relationshipInt
ernalID>/<relationshipbusinessID>?sourceSyste
m=<source-system>
E.g., PUT https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/c360_person_to_c3
60_organization/30142897977872859812471516245
?sourceSystem=c360.default.system
User Persona: Authorized License Access
48 © Informatica. Proprietary and Confidential.
Public APIs : Relationship Delete (DEL)
• Delete an existing relationship
Format : <baseApiUrl>/business-
entity/public/api/v1/relationship
/<relationshipbusinessID>?sourceSystem=
<source-system>
E.g., DELETE https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/relationship/colleague_
of/30142786670219119049037064968?sour
ceSystem=c360.default.system
User Persona: Authorized License Access
49 © Informatica. Proprietary and Confidential.
Merge / Un-Merge APIs
Public APIs : Merge and Un-Merge APIs
• Merge Business Entity Records
- Using Source Pkey and Source System
- Using Business Id of Master
• UnMerge Records
- Using Source Pkey and Source System
<baseAPIURL>/business-entity/public/api/v1/entity-group/<businessEntity>
Known Limitations
• Merge upto 10 records in one API request
51 © Informatica. Proprietary and Confidential.
Public APIs : Merge records
• Merge master records into one
master record
• Merge can be done using
- Source Primary Key and Source
System
- Using Business Id of Master record
Format : <baseApiUrl>/business-
entity/public/api/v1/entity-
group/<businessEntity>
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
group/c360.person
User Persona: Authorized License Access
52 © Informatica. Proprietary and Confidential.
Public APIs : Merge records
User Persona: Authorized License Access
53 © Informatica. Proprietary and Confidential.
Public APIs : UnMerge records
• UnMerge a source record from the
master Record
• UnMerge can be done using
- Source Primary Key and Source
System
Format : <baseApiUrl>/business-
entity/public/api/v1/entity-
group/<businessEntity>/<businessID>
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/business-
entity/public/api/v1/entity-
group/c360.person/30144671469908735024
405177548
User Persona: Authorized License Access
54 © Informatica. Proprietary and Confidential.
Jobs APIs
Search
Public APIs : Jobs APIs
• Read Job
- Read Job with Details
• Create Job
- Ingress
- Match &Merge
- Egress
• Search & Filter Job - POST
<baseAPIURL>/job/public/api/v1/jobInstance/<jobInstanceId>
56 © Informatica. Proprietary and Confidential.
Public APIs : Read Job
• Get MDM Job Details
- Get the Job Overview
- Get Details with Steps by passing
optional parameter “details=true”
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/<jobInstanceId>?details=t
rue
E.g., GET https://qa-pod1-
mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/702148631633231872
?details=true
User Persona: Authorized License Access
57 © Informatica. Proprietary and Confidential.
Public APIs : Create Job (Ingress)
• Create a Job Instance for
Ingress
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/Ingress
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/Ingress
User Persona: Authorized License Access
58 © Informatica. Proprietary and Confidential.
Public APIs : Create Job (Match & Merge)
• Create a Job Instance for Match
& Merge
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/MatchMerge
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/MatchMerge
User Persona: Authorized License Access
59 © Informatica. Proprietary and Confidential.
Public APIs : Create Job (Egress)
• Create a Job Instance for Egress
- Create a Job instance based on
Job definition
Format :
<baseAPIURL>/job/public/api/v1/jo
bInstance/Egress
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/job/public/api/
v1/jobInstance/Egress
User Persona: Authorized License Access
60 © Informatica. Proprietary and Confidential.
Create Job API - Points to Note
• Job Definition needs to be created in Business 360 as a prerequisite
• Egress Job Instance parameters cannot be overwritten and works as defined from
Job definition
User Persona: Authorized License Access
61 © Informatica. Proprietary and Confidential.
Public APIs : Search & Filter Job
• Search & Filter MDM Jobs
- Search the Jobs
- Filter the Jobs using Job Type, Name
and Job State
Format :
<baseAPIURL>/job/public/api/v1/search
E.g., POST https://qa-pod1-
mdm.mrel.infaqa.com/job/public/api/v1/s
earch
User Persona: Authorized License Access
62 © Informatica. Proprietary and Confidential.
Try Outs – POSTMAN COLLECTION
POSTMAN Collection
User Persona: Authorized License Access
63 © Informatica. Proprietary and Confidential.
Thank you
Bejoy Jacob
Product Manger, Informatica