C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica...

57
Informatica ® 10.2 Enterprise Information Catalog REST API Reference

Transcript of C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica...

Page 1: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Informatica®

10.2

Enterprise Information Catalog REST API Reference

Page 2: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Informatica Enterprise Information Catalog REST API Reference10.2August 2017

© Copyright Informatica LLC 2017

This software and documentation are provided only under a separate license agreement containing restrictions on use and disclosure. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica LLC.

Informatica and the Informatica logo are trademarks or registered trademarks of Informatica LLC in the United States and many jurisdictions throughout the world. A current list of Informatica trademarks is available on the web at https://www.informatica.com/trademarks.html. Other company and product names may be trade names or trademarks of their respective owners.

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation is subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License.

Portions of this software and/or documentation are subject to copyright held by third parties, including without limitation: Copyright DataDirect Technologies. All rights reserved. Copyright © Sun Microsystems. All rights reserved. Copyright © RSA Security Inc. All Rights Reserved. Copyright © Ordinal Technology Corp. All rights reserved. Copyright © Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. All rights reserved. Copyright © Meta Integration Technology, Inc. All rights reserved. Copyright © Intalio. All rights reserved. Copyright © Oracle. All rights reserved. Copyright © Adobe Systems Incorporated. All rights reserved. Copyright © DataArt, Inc. All rights reserved. Copyright © ComponentSource. All rights reserved. Copyright © Microsoft Corporation. All rights reserved. Copyright © Rogue Wave Software, Inc. All rights reserved. Copyright © Teradata Corporation. All rights reserved. Copyright © Yahoo! Inc. All rights reserved. Copyright © Glyph & Cog, LLC. All rights reserved. Copyright © Thinkmap, Inc. All rights reserved. Copyright © Clearpace Software Limited. All rights reserved. Copyright © Information Builders, Inc. All rights reserved. Copyright © OSS Nokalva, Inc. All rights reserved. Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc. All rights reserved. Copyright © International Organization for Standardization 1986. All rights reserved. Copyright © ej-technologies GmbH. All rights reserved. Copyright © Jaspersoft Corporation. All rights reserved. Copyright © International Business Machines Corporation. All rights reserved. Copyright © yWorks GmbH. All rights reserved. Copyright © Lucent Technologies. All rights reserved. Copyright © University of Toronto. All rights reserved. Copyright © Daniel Veillard. All rights reserved. Copyright © Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright © MicroQuill Software Publishing, Inc. All rights reserved. Copyright © PassMark Software Pty Ltd. All rights reserved. Copyright © LogiXML, Inc. All rights reserved. Copyright © 2003-2010 Lorenzi Davide, All rights reserved. Copyright © Red Hat, Inc. All rights reserved. Copyright © The Board of Trustees of the Leland Stanford Junior University. All rights reserved. Copyright © EMC Corporation. All rights reserved. Copyright © Flexera Software. All rights reserved. Copyright © Jinfonet Software. All rights reserved. Copyright © Apple Inc. All rights reserved. Copyright © Telerik Inc. All rights reserved. Copyright © BEA Systems. All rights reserved. Copyright © PDFlib GmbH. All rights reserved. Copyright © Orientation in Objects GmbH. All rights reserved. Copyright © Tanuki Software, Ltd. All rights reserved. Copyright © Ricebridge. All rights reserved. Copyright © Sencha, Inc. All rights reserved. Copyright © Scalable Systems, Inc. All rights reserved. Copyright © jQWidgets. All rights reserved. Copyright © Tableau Software, Inc. All rights reserved. Copyright© MaxMind, Inc. All Rights Reserved. Copyright © TMate Software s.r.o. All rights reserved. Copyright © MapR Technologies Inc. All rights reserved. Copyright © Amazon Corporate LLC. All rights reserved. Copyright © Highsoft. All rights reserved. Copyright © Python Software Foundation. All rights reserved. Copyright © BeOpen.com. All rights reserved. Copyright © CNRI. All rights reserved.

This product includes software developed by the Apache Software Foundation (http://www.apache.org/), and/or other software which is licensed under various versions of the Apache License (the "License"). You may obtain a copy of these Licenses at http://www.apache.org/licenses/. Unless required by applicable law or agreed to in writing, software distributed under these Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.

This product includes software which was developed by Mozilla (http://www.mozilla.org/), software copyright The JBoss Group, LLC, all rights reserved; software copyright © 1999-2006 by Bruno Lowagie and Paulo Soares and other software which is licensed under various versions of the GNU Lesser General Public License Agreement, which may be found at http:// www.gnu.org/licenses/lgpl.html. The materials are provided free of charge by Informatica, "as-is", without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose.

The product includes ACE(TM) and TAO(TM) software copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (©) 1993-2006, all rights reserved.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (copyright The OpenSSL Project. All Rights Reserved) and redistribution of this software is subject to terms available at http://www.openssl.org and http://www.openssl.org/source/license.html.

This product includes Curl software which is Copyright 1996-2013, Daniel Stenberg, <[email protected]>. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://curl.haxx.se/docs/copyright.html. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

The product includes software copyright 2001-2005 (©) MetaStuff, Ltd. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://www.dom4j.org/ license.html.

The product includes software copyright © 2004-2007, The Dojo Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http://dojotoolkit.org/license.

This product includes ICU software which is copyright International Business Machines Corporation and others. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://source.icu-project.org/repos/icu/icu/trunk/license.html.

This product includes software copyright © 1996-2006 Per Bothner. All rights reserved. Your right to use such materials is set forth in the license which may be found at http:// www.gnu.org/software/ kawa/Software-License.html.

This product includes OSSP UUID software which is Copyright © 2002 Ralf S. Engelschall, Copyright © 2002 The OSSP Project Copyright © 2002 Cable & Wireless Deutschland. Permissions and limitations regarding this software are subject to terms available at http://www.opensource.org/licenses/mit-license.php.

This product includes software developed by Boost (http://www.boost.org/) or under the Boost software license. Permissions and limitations regarding this software are subject to terms available at http:/ /www.boost.org/LICENSE_1_0.txt.

This product includes software copyright © 1997-2007 University of Cambridge. Permissions and limitations regarding this software are subject to terms available at http:// www.pcre.org/license.txt.

This product includes software copyright © 2007 The Eclipse Foundation. All Rights Reserved. Permissions and limitations regarding this software are subject to terms available at http:// www.eclipse.org/org/documents/epl-v10.php and at http://www.eclipse.org/org/documents/edl-v10.php.

This product includes software licensed under the terms at http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?License, http://www.stlport.org/doc/ license.html, http://asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html; http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/

Page 3: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Consortium/Legal/2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http://forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http://www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License; http://www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http://www.jmock.org/license.html; http://xsom.java.net; http://benalman.com/about/license/; https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Bitmap.js; http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/LICENSE; http://jdbc.postgresql.org/license.html; http://protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto; https://github.com/rantav/hector/blob/master/LICENSE; http://web.mit.edu/Kerberos/krb5-current/doc/mitK5license.html; http://jibx.sourceforge.net/jibx-license.html; https://github.com/lyokato/libgeohash/blob/master/LICENSE; https://github.com/hjiang/jsonxx/blob/master/LICENSE; https://code.google.com/p/lz4/; https://github.com/jedisct1/libsodium/blob/master/LICENSE; http://one-jar.sourceforge.net/index.php?page=documents&file=license; https://github.com/EsotericSoftware/kryo/blob/master/license.txt; http://www.scala-lang.org/license.html; https://github.com/tinkerpop/blueprints/blob/master/LICENSE.txt; http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html; https://aws.amazon.com/asl/; https://github.com/twbs/bootstrap/blob/master/LICENSE; https://sourceforge.net/p/xmlunit/code/HEAD/tree/trunk/LICENSE.txt; https://github.com/documentcloud/underscore-contrib/blob/master/LICENSE, and https://github.com/apache/hbase/blob/master/LICENSE.txt.

This product includes software licensed under the Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), the Common Development and Distribution License (http://www.opensource.org/licenses/cddl1.php) the Common Public License (http://www.opensource.org/licenses/cpl1.0.php), the Sun Binary Code License Agreement Supplemental License Terms, the BSD License (http:// www.opensource.org/licenses/bsd-license.php), the new BSD License (http://opensource.org/licenses/BSD-3-Clause), the MIT License (http://www.opensource.org/licenses/mit-license.php), the Artistic License (http://www.opensource.org/licenses/artistic-license-1.0) and the Initial Developer’s Public License Version 1.0 (http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/).

This product includes software copyright © 2003-2006 Joe WaInes, 2006-2007 XStream Committers. All rights reserved. Permissions and limitations regarding this software are subject to terms available at http://xstream.codehaus.org/license.html. This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/.

This product includes software Copyright (c) 2013 Frank Balluffi and Markus Moeller. All rights reserved. Permissions and limitations regarding this software are subject to terms of the MIT license.

See patents at https://www.informatica.com/legal/patents.html.

DISCLAIMER: Informatica LLC provides this documentation "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of noninfringement, merchantability, or use for a particular purpose. Informatica LLC does not warrant that this software or documentation is error free. The information provided in this software or documentation may include technical inaccuracies or typographical errors. The information in this software and documentation is subject to change at any time without notice.

NOTICES

This Informatica product (the "Software") includes certain drivers (the "DataDirect Drivers") from DataDirect Technologies, an operating company of Progress Software Corporation ("DataDirect") which are subject to the following terms and conditions:

1. THE DATADIRECT DRIVERS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY, NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.

The information in this documentation is subject to change without notice. If you find any problems in this documentation, please report them to us in writing at Informatica LLC 2100 Seaport Blvd. Redwood City, CA 94063.

Informatica products are warranted according to the terms and conditions of the agreements under which they are provided. INFORMATICA PROVIDES THE INFORMATION IN THIS DOCUMENT "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NON-INFRINGEMENT.

Publication Date: 2017-09-08

Page 4: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Informatica Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Informatica Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Informatica Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Informatica Product Availability Matrixes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Informatica Velocity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Informatica Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Informatica Global Customer Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Chapter 1: Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Enterprise Information Catalog REST API Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Accessing the APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Chapter 2: Model REST APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Model REST APIs Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Model Information APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Association Kinds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Association Kind Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Attribute Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Class Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Data Type Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

List Association Kinds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

List Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

List Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

List Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

List Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

List Reference Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

List Reference Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Reference Attribute Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Reference Data Type Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Model Modification APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Create Custom Reference Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Create Custom Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Delete Custom Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Delete Custom Reference Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Update Custom Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Update Custom Reference Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Table of Contents

Page 5: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Chapter 3: Object APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Object REST APIs Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Object Information APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Data Object IDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Object Modification APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Data Objects Modification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Data Object Modification IDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Chapter 4: Use Cases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Sample Use Cases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Retrieve Attribute Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Retrieve Attribute Details for a Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Retrieve Objects Using Object Name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Retrieve Object Details Using Object ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Retrieve Relationships Between Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Update Custom Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Update a Custom Attribute and Custom Reference Attribute for an Object. . . . . . . . . . . . . . . . . 54

Create Custom Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Create Reference Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Table of Contents 5

Page 6: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

PrefaceThe Informatica Enterprise Information Catalog REST API Reference is written for developers and data stewards who want to customise Enterprise Information Catalog by using the concepts exposed by the REST APIs. It is assumed that you have a good understanding of REST concepts and experience using REST APIs.

Informatica Resources

Informatica NetworkInformatica Network hosts Informatica Global Customer Support, the Informatica Knowledge Base, and other product resources. To access Informatica Network, visit https://network.informatica.com.

As a member, you can:

• Access all of your Informatica resources in one place.

• Search the Knowledge Base for product resources, including documentation, FAQs, and best practices.

• View product availability information.

• Review your support cases.

• Find your local Informatica User Group Network and collaborate with your peers.

Informatica Knowledge BaseUse the Informatica Knowledge Base to search Informatica Network for product resources such as documentation, how-to articles, best practices, and PAMs.

To access the Knowledge Base, visit https://kb.informatica.com. If you have questions, comments, or ideas about the Knowledge Base, contact the Informatica Knowledge Base team at [email protected].

Informatica DocumentationTo get the latest documentation for your product, browse the Informatica Knowledge Base at https://kb.informatica.com/_layouts/ProductDocumentation/Page/ProductDocumentSearch.aspx.

If you have questions, comments, or ideas about this documentation, contact the Informatica Documentation team through email at [email protected].

6

Page 7: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Informatica Product Availability MatrixesProduct Availability Matrixes (PAMs) indicate the versions of operating systems, databases, and other types of data sources and targets that a product release supports. If you are an Informatica Network member, you can access PAMs at https://network.informatica.com/community/informatica-network/product-availability-matrices.

Informatica VelocityInformatica Velocity is a collection of tips and best practices developed by Informatica Professional Services. Developed from the real-world experience of hundreds of data management projects, Informatica Velocity represents the collective knowledge of our consultants who have worked with organizations from around the world to plan, develop, deploy, and maintain successful data management solutions.

If you are an Informatica Network member, you can access Informatica Velocity resources at http://velocity.informatica.com.

If you have questions, comments, or ideas about Informatica Velocity, contact Informatica Professional Services at [email protected].

Informatica MarketplaceThe Informatica Marketplace is a forum where you can find solutions that augment, extend, or enhance your Informatica implementations. By leveraging any of the hundreds of solutions from Informatica developers and partners, you can improve your productivity and speed up time to implementation on your projects. You can access Informatica Marketplace at https://marketplace.informatica.com.

Informatica Global Customer SupportYou can contact a Global Support Center by telephone or through Online Support on Informatica Network.

To find your local Informatica Global Customer Support telephone number, visit the Informatica website at the following link: http://www.informatica.com/us/services-and-training/support-services/global-support-centers.

If you are an Informatica Network member, you can use Online Support at http://network.informatica.com.

Preface 7

Page 8: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

C h a p t e r 1

OverviewThis chapter includes the following topics:

• Enterprise Information Catalog REST API Overview, 8

• Prerequisites, 9

• Accessing the APIs, 9

Enterprise Information Catalog REST API OverviewRepresentational State Transfer (REST) Web Services provide interoperability between computers that communicate through internet. You can use a REST Web Service to interact with Web resources and perform updates on Web resources. A REST Web Service conforms to the principles of REST by being client-server oriented and stateless and uses the HTTP protocol and methods for communication. APIs that conform to the REST principles are known as REST APIs. You can use REST APIs to extract, create, modify or delete information in the system through REST Web Services. The REST APIs are created using Swagger specification.

You can use the Enterprise Information Catalog REST APIs to extract information from models and objects and update models and objects. The APIs expose the following concepts:Model

A model defines the structure for the metadata that the scanner ingests in the catalog.

Data

Data represents the metadata ingested in the catalog.

Concepts Exposed by the Model

Attributes

A model property that you can set on an object as a fact.

Association

A model link that you can create between two objects.

Association Kinds

Types of associations.

Data Types

Types of attributes.

8

Page 9: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Classes

Types of objects.

Reference Attributes

Type of attribute that projects a value from a source object to a target object.

Concepts Exposed by Data

Object

An object is an asset in the catalog. The object includes facts and you can link an object to other objects. Scanners or users create facts and links.

Fact

An instantiated attribute of an object. For example, Created by and Modified by are facts.

Links

An instantiated association between two objects.

PrerequisitesVerify that you perform the following prerequisites before you use the REST APIs:

• Install Enterprise Information Catalog.

• Identify and install the HTTP client that you want to use to call the REST APIs.

Accessing the APIsYou can use the following URL to view the list of REST APIs exposed: <catalogadminURL>:<port>/access/swagger-ui.html#/<catalogadminURL> represents the URL of the machine where you installed Catalog Administrator. <port> represents the port number configured for the Catalog Service.

You can use the following URL format to call the REST APIs: <Type of HTTP method> http://<eumadminURL>:<port>/access/2/catalog/models/<REST API>. The models directory includes all the REST APIs exposed for retrieving and updating information related to models. You can replace the models directory with data directory to call the REST APIs exposed to retrieve information about objects.

For example, to call the REST API GET 2/catalog/models/associationKinds, use the following URL: GET http://<eumadminURL>:<port>/access/2/catalog/models/associationKinds

You can use any standard HTTP client or use the Java client provided with Enterprise Information Catalog to call the REST APIs.

You can download the Java client and the source files with the Javadocs from the following locations:

• Java client. <catalogadminURL>:<port>/access/2/files/client.jar• Source files and Javadocs. <catalogadminURL>:<port>/access/2/files/client-sources.jar

Prerequisites 9

Page 10: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

C h a p t e r 2

Model REST APIsThis chapter includes the following topics:

• Model REST APIs Overview, 10

• Model Information APIs, 11

• Model Modification APIs, 24

Model REST APIs OverviewTo access and update the Enterprise Unified Metadata REST Web Services, you can use the Model REST APIs that are classified into the following categories:

• Model Information APIs

• Model Modification APIs

You can use the Model Information APIs to perform the following operations to extract information associated with the model:

• List types of associations.

• List association type details.

• List associations.

• List association details.

• List attributes.

• List attribute details.

• List classes.

• List class details.

• List data types.

• List data type details.

• List reference attributes.

• List reference attribute details.

• List reference data types.

• List reference data type details.

You can use the Model Modification APIs to perform the following operations to create, delete, or update information associated with the model:

• Create custom attributes.

10

Page 11: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

• Delete custom attributes.

• Update custom attributes.

• Create custom reference attributes.

• Delete custom reference attributes.

• Update custom reference attributes.

Model Information APIsYou can use the following Model Information REST APIs to extract information from the model:

Model Information REST API Description

GET associationKinds List association types.

GET associationKinds/{id} List association type details.

GET associations List associations.

GET associations/{id} List association details.

GET attributes List attributes.

GET attributes/{id} List attribute details.

GET classes List classes.

GET classes/{id} List class details.

GET dataTypes List data types.

GET dataTypes/{id} List data type details.

GET referenceAttributes List reference attributes.

GET referenceAttributes/{id} List reference attribute details.

GET referenceDataTypes List reference data types.

GET referenceDataTypes{id} List reference data type details.

Model Information APIs 11

Page 12: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Association Kindsassociations/{id}

API to list details of an association.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/associations/{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the association.

Path String

Response Codes

Code Reason

200 Listed association types successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Association Kind DetailsassociationKinds/{id}

API to list association type details.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/associationKinds/{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the association.

Path String

12 Chapter 2: Model REST APIs

Page 13: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Response Codes

Code Reason

200 Listed association type details successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Attribute Detailsattributes/{id}

API to list details of an attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/attributes/{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the attribute.

Path String

Response Codes

Code Reason

200 Listed attribute details successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Model Information APIs 13

Page 14: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Class Detailsclasses/{id}

API to list class details.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/classes/{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the class.

Path String

Response Codes

Code Reason

200 Listed class details successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Data Type DetailsdataTypes{id}

API to list types of association.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/dataTypes{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the data type.

Path String

14 Chapter 2: Model REST APIs

Page 15: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Response Codes

Code Reason

200 Listed association types successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

List Association KindsassociationKinds

API to list types of association.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/associationKinds?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the association. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the association types must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

Model Information APIs 15

Page 16: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Response Codes

Code Reason

200 Listed association types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

List Associationsassociations

API to list associations.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/associations?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the association. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the association types must start for listing. Default is 0.

Query Integer

16 Chapter 2: Model REST APIs

Page 17: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Parameter Type Data Type

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

isA Optional Displays associations that inherit the specified association types.

Query Array[string]

Response Codes

Code Reason

200 Listed association types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

List Attributesattributes

API to list attributes.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/attributes?offset=0&pageSize=20

HTTP Method Type GET

Model Information APIs 17

Page 18: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the attribute. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

classId Optional ID of the class that you want to use to filter the attributes. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the attributes must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

Response Codes

Code Reason

200 Listed attributes successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

18 Chapter 2: Model REST APIs

Page 19: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

List Classesclasses

API to list classes in a model.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/classes?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the class. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the association types must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

isA Optional Displays classes that inherit the specified class types.

Query Array[string]

Response Codes

Code Reason

200 Listed association types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

Model Information APIs 19

Page 20: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Code Reason

404 Requested object not found.

429 Rate limit for requests encountered.

List Data TypesdataTypes

API to list types of data.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/dataTypes?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the data type. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the data types must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

Response Codes

Code Reason

200 Listed association types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

20 Chapter 2: Model REST APIs

Page 21: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Code Reason

404 Requested object not found.

429 Rate limit for requests encountered.

List Reference AttributesreferenceAttributes

API to list reference attributes.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceAttributes?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the reference attribute. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

classId Optional The ID of the class based on which you want to filter the reference attributes.

Query Array[string]

offset Optional The offset position from which the reference attributes must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

Model Information APIs 21

Page 22: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Response Codes

Code Reason

200 Listed reference attributes successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

List Reference Data TypesreferenceDataTypes

API to list reference data types.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceDataTypes?offset=0&pageSize=20

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Optional The ID of the reference data type. If you want to provide multiple IDs, verify that you provide each ID on another line.

Query Array[string]

offset Optional The offset position from which the reference data types must start for listing. Default is 0.

Query Integer

pageSize Optional The number of results to be displayed on a page. Default is 20.

Query Integer

22 Chapter 2: Model REST APIs

Page 23: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Response Codes

Code Reason

200 Listed reference data types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Reference Attribute DetailsreferenceAttributes{id}

API to list details of a reference attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/modelsreferenceAttributes{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the reference attribute.

Path String

Response Codes

Code Reason

200 Listed association types successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Model Information APIs 23

Page 24: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Reference Data Type DetailsreferenceDataTypes{id}

API to list details of a reference data type.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceDataTypes{id}

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the reference data type.

Path String

Response Codes

Code Reason

200 Listed reference data type details successfully.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Model Modification APIsYou can use the following Model Modification REST APIs to create, delete, or update information in the model:

Model Modification REST API Description

POST attributes Create custom attributes.

DELETE attributes/{id} Delete custom attributes.

PUT attributes/{id} Update custom attributes.

POST referenceAttributes Create custom reference attributes.

24 Chapter 2: Model REST APIs

Page 25: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Model Modification REST API Description

DELETE referenceAttributes/{id} Delete custom reference attributes.

PUT referenceAttributes/{id} Update custom reference attributes.

Create Custom Reference AttributereferenceAttributes

API to create a custom reference attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceAttributes

HTTP Method Type POST

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

attribute Required Details of the custom reference attribute.

Body Model

Attribute Parameters

Parameter Required or Optional Description Data Type Values

analyzer Optional Classification for the custom reference attribute type.

String Provide one of the following values:- INT- LONG- FLOAT- DOUBLE- BOOLEAN- DATE- STRING- TEXT_GENERAL- PATH_HIERARC

HY

boost Optional Search ranking priority for the custom reference attribute.

String Provide one of the following values:- LOWEST- LOWER- LOW- MEDIUM- HIGH

Model Modification APIs 25

Page 26: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

classes Optional List of classes that might have the custom reference attribute.

Array Provide the list of classes in the following format:

classes": [ { "id": "string", }]

dataTypeId Required ID of the model resource.

String User to provide the ID.

description Optional Description for the custom reference attribute.

String User to provide the description.

facetable Optional Specifies if the custom reference attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

multivalued Optional Specifies if the custom reference attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

name Required Name of the custom reference attribute.

String User to provide the name.

searchable Optional Specifies if you can use the custom reference attribute to perform searches in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

26 Chapter 2: Model REST APIs

Page 27: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

sortable Optional Specifies if you can sort the search results using the custom reference attribute in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

suggestable Optional Specifies if the custom reference attribute must appear in the list of automatic suggestions in Enterprise Information Catalog . Default is true.

Boolean Provide one of the following values:- true- false

id ID of the model resource.

String User to provide the ID.

Response Codes

Code Reason

201 Custom reference attribute created successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Create Custom Attributesattributes

API to update a custom attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/attributes

HTTP Method Type POST

Model Modification APIs 27

Page 28: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

attribute Required Details of the custom attribute.

Body Model

Attribute Parameters

Parameter Required or Optional Description Data Type Values

analyzer Optional Classification for the custom attribute type.

String Provide one of the following values:- INT- LONG- FLOAT- DOUBLE- BOOLEAN- DATE- STRING- TEXT_GENERAL- PATH_HIERARC

HY

boost Optional Search ranking priority for the custom attribute.

String Provide one of the following values:- LOWEST- LOWER- LOW- MEDIUM- HIGH

classes Optional List of classes that might have the custom attribute.

Array Provide the list of classes in the following format:

classes": [ { "id": "string", }]

dataTypeId Required ID of the model resource.

String User to provide the ID.

description Optional Description for the custom attribute.

String User to provide the description.

facetable Optional Specifies if the custom attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

28 Chapter 2: Model REST APIs

Page 29: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

multivalued Optional Specifies if the custom attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

name Required Name of the custom attribute.

String User to provide the name.

searchable Optional Specifies if you can use the custom attribute to perform searches in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

sortable Optional Specifies if you can sort the search results using the custom attribute in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

suggestable Optional Specifies if the custom attribute must appear in the list of automatic suggestions in Enterprise Information Catalog . Default is true.

Boolean Provide one of the following values:- true- false

id ID of the model resource.

String User to provide the ID.

Response Codes

Code Reason

201 Custom attribute created successfully.

400 Missing or invalid parameter.

401 Missing credentials.

Model Modification APIs 29

Page 30: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Code Reason

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Delete Custom Attributeattributes/{id}

API to delete a custom attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/attributes/{id}

HTTP Method Type DELETE

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required ID of custom attribute.

Path String

Response Codes

Code Reason

200 Custom attribute deleted successfully.

204 No content.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

30 Chapter 2: Model REST APIs

Page 31: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Delete Custom Reference AttributereferenceAttributes/{id}

API to delete a custom reference attribute.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceAttributes/{id}

HTTP Method Type DELETE

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required ID of custom reference attribute.

Path String

Response Codes

Code Reason

200 Custom attribute deleted successfully.

204 No content.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

429 Rate limit for requests encountered.

Update Custom Attributeattributes/{id}

API to update a custom attribute.

Note: You must index the catalog after you use the API.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/attributes/{id}

HTTP Method Type PUT

Model Modification APIs 31

Page 32: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required ID of custom attribute.

Path String

attribute Required Details that you want to update for the custom attribute.

Body Model

if-Match Optional Identify the ETag for the resource. Enterprise Unified Metadata does not update the resource if the ETag for the resource has changed.

Header String

Attribute Parameters

Parameter Required or Optional Description Data Type Values

analyzer Optional Classification for the custom attribute type.

String Provide one of the following values:- INT- LONG- FLOAT- DOUBLE- BOOLEAN- DATE- STRING- TEXT_GENERAL- PATH_HIERARC

HY

boost Optional Search ranking priority for the custom attribute.

String Provide one of the following values:- LOWEST- LOWER- LOW- MEDIUM- HIGH

classes Optional List of classes that might have the custom attribute.

Array Provide the list of classes in the following format:

classes": [ { "id": "string", }]

32 Chapter 2: Model REST APIs

Page 33: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

id Required ID of the model resource.

String User to provide the ID.

description Optional Description for the custom attribute.

String User to provide the description.

facetable Optional Specifies if the custom attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

name Required Name of the custom attribute.

String User to provide the name.

Response Codes

Code Reason

201 Custom attribute updated successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

412 Conflicting update detected.

429 Rate limit for requests encountered.

Update Custom Reference AttributereferenceAttributes/{id}

API to update a custom reference attribute.

Note: You must index the catalog after you use the API.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/models/referenceAttributes/{id}

HTTP Method Type PUT

Model Modification APIs 33

Page 34: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required ID of custom reference attribute.

Path String

attribute Required Details that you want to updated for the custom reference attribute.

Body Model

if-Match Optional Identify the ETag for the resource. Enterprise Unified Metadata does not update the resource if the ETag for the resource has changed.

Header String

Attribute Parameters

Parameter Required or Optional Description Data Type Values

analyzer Optional Classification for the custom reference attribute type.

String Provide one of the following values:- INT- LONG- FLOAT- DOUBLE- BOOLEAN- DATE- STRING- TEXT_GENERAL- PATH_HIERARC

HY

boost Optional Search ranking priority for the custom reference attribute.

String Provide one of the following values:- LOWEST- LOWER- LOW- MEDIUM- HIGH

classes Optional List of classes that might have the custom reference attribute.

Array Provide the list of classes in the following format:

classes": [ { "id": "string", }]

34 Chapter 2: Model REST APIs

Page 35: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

id Required ID of the model resource.

String User to provide the ID.

description Optional Description for the custom reference attribute.

String User to provide the description.

facetable Optional Specifies if the custom reference attribute must appear on the list of filters in Enterprise Information Catalog. Default is true.

Boolean Provide one of the following values:- true- false

name Required Name of the custom reference attribute.

String User to provide the name.

Response Codes

Code Reason

201 Custom reference attribute updated successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions,

404 Requested object not found.

412 Conflicting update detected.

429 Rate limit for requests encountered.

Model Modification APIs 35

Page 36: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

C h a p t e r 3

Object APIsThis chapter includes the following topics:

• Object REST APIs Overview, 36

• Object Information APIs, 36

• Object Modification APIs, 41

Object REST APIs OverviewTo access, view, and update the data objects in Enterprise Information Catalog, you can use the Enterprise Unified Metadata REST APIs, such as Object Information APIs and Object Modification APIs.

You can use the Object Information APIs to list the objects, view the details of the objects, and view the relationships between the objects in the catalog. You can use the Object Modification APIs to update the custom properties for one or multiple objects in the catalog.

Object Information APIsYou can use the following Object Information REST APIs for the objects in the catalog:

Model Information REST API Description

GET objects List the objects.

GET objects/{id} List the object details.

GET relationships List the relationships between the objects.

36

Page 37: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Data Objectsobjects

The endpoint return the objects in the catalog. An endpoint is an object that has a connection to another object in a different resource.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/data/objects

HTTP Method Type GET

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

q Required Use to create a query that searches matching objects. Uses Apache Lucene to interpret the query.

query string

id Optional The ID of the data object. You can use multiple values to query the catalog. Enter each value in a new line.

query Arrary[string]

offset Optional The starting point in the results. The results after the offset value is displayed. By default, the offset value is 0.

query integer

Object Information APIs 37

Page 38: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Parameter Type Data Type

pageSize Optional The number of results to display in a page. By default, you can view 20 results per page.

query integer

related Optional Returns the related objects if you set the parameter to true and configure the q parameter. If q parameter is not configured, no results are generated. By default, related parameter is set to false.

query boolean

Response Codes

Code Reason

200 Returns objects and object details successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions.

404 Requested object not found.

429 Rate limit for requests encountered.

Sample Call Using Curlcurl -X GET --header "Accept: application/json" "http://inrh65n3:7085/access/2/catalog/data/objects?q=*"

Data Object IDsobjects/{id}

API returns the details about an object.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/data/objects/{id}

HTTP Method Type GET

38 Chapter 3: Object APIs

Page 39: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the data object.

path string

Response Codes

Code Reason

200 Returns the object and object details successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions.

404 Requested object not found.

429 Rate limit for requests encountered.

Sample Call Using Curlcurl -X GET --header "Accept: application/json" "http://inrh65n3:7085/access/2/catalog/data/objects/3371000366"

Relationshipsrelationships

The endpoint returns the relationship between an object and other objects in Enterprise Information Catalog. An endpoint is an object that has a connection to another object in a different resource.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/data/relationships

HTTP Method Type GET

Object Information APIs 39

Page 40: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

seed Optional The ID of the data asset. You can enter multiple IDs. Enter each ID in a new line.

query Arrary[string]

association Optional The association ID or association kind ID. Lineage or association displays where the data for an asset comes from and the assets that impact it. You can enter the association ID or association kind ID.

query Arrary[string]

depth Required The depth of traversal which is the number of return links in the lineage. Enter 0 or N as the depth of traversal, where N is an integer. Enter 0 to display complete lineage. Enter a number N to display the lineage for N hops from the seed node.

query integer

direction Optional Direction to traverse for lineage. Enter BOTH, IN, or OUT. By default, BOTH is the configured direction.

query string

removeDuplicateAggregateLinks

Optional When set to true, the duplicate aggregate links do not appear in the response. By default, this parameter is set to true. Sometimes, the scanners create duplicate aggregate links.

query boolean

40 Chapter 3: Object APIs

Page 41: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Parameter Type Data Type

includeTerms Optional When set to true, the connected business terms are embedded in the response. By default, this parameter is set to false.

query boolean

includeAttribute Optional The attribute ID. The fact related to the attribute ID is embedded in the response. Enter each ID in a new line.

query Array[string]

Response Codes

Code Reason

200 Listed association types successfully.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions.

404 Requested object not found.

429 Rate limit for requests encountered.

Sample Call Using Curlcurl -X GET --header "Accept: application/json" "http://inrh65n3:7085/access/2/catalog/models/associations/%2Faccess%2F2%2Fmodels%2F2345"

Object Modification APIsYou can use the following Object Modification REST APIs to update the custom properties of an object:

Model Modification REST API Description

PUT attributes Update the custom properties for multiple objects.

PUT attributes/{id} Update the custom properties for an object.

Object Modification APIs 41

Page 42: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Data Objects Modificationobjects

API to update the custom properties of multiple objects.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/data/objects

HTTP Method Type PUT

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

objects Required The data objects for which you want to update the custom properties.

body model

If-Match Optional Enter a value to display the results that match the value. Do not update if the entity tag or etag for the resource has changed.

header string

42 Chapter 3: Object APIs

Page 43: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Attribute Parameters

Parameter Required or Optional Description Data Type Values

businessTerms Optional Associated business terms.

Array[string] Provide a list of business terms for the data object in the following format:

ObjectRefRequest {id (string): Id of object resource}

facts Optional List of facts that apply to this object.

Array[string] Provide a list of attribute IDs and values for the facts in the following format:

FactRequest {attributeId (string): Attribute id ,value (string, optional): Fact value}

id Required The ID of the object resource.

string Enter the resource ID.

Object Modification APIs 43

Page 44: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

srcLinks Optional An upstream of objects.

Array[string] Provide a list of association IDs, object resource IDs, attribute IDs, and property value for source links in the following format:

LinkedObjectRequest {association (string): Association id ,id (string): Id of object resource ,linkProperties (Array[LinkPropertyRequest], optional)}LinkPropertyRequest {attributeId (string): Attribute id ,value (string, optional): Property value}

attributeId Required The ID of the attribute.

string Provide the attribute ID.

value Optional The fact value. string Provide the fact value.

association Required The ID of the association.

string Provide the association ID.

44 Chapter 3: Object APIs

Page 45: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

linkProperties Optional The request includes attribute ID and property value.

Array[string] Provide a request for link properties in the following format:

LinkPropertyRequest {attributeId (string): Attribute id ,value (string, optional): Property value}

value Optional The property value.

string Provide a property value.

Response Codes

Code Reason

201 Created.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions.

404 Requested object not found.

412 Conflicting edit detected.

429 Rate limit for requests encountered.

Sample Call Using Curlcurl -X PUT --header "Content-Type: application/json" --header "Accept: application/json" -d "28037" "http://inrh65n3:7085/access/2/catalog/data/objects"

Data Object Modification IDsobjects/{id}

API to update custom object properties of an object.

REST API Element Input Format

Request URL <eumadminURL>:<port>/access/2/catalog/data/objects/{id}

HTTP Method Type PUT

Object Modification APIs 45

Page 46: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

URL Parameters

Parameter Required or Optional Description Parameter Type Data Type

id Required The ID of the object.

path string

objects Required The data object for which you want to update the custom properties.

body model

If-Match Optional Enter a value to display the results that match the value. Do not update if the entity tag or etag for the resource has changed.

header string

Attribute Parameters

Parameter Required or Optional Description Data Type Values

businessTerms Optional Associated business terms.

Array[string] Provide a list of business terms in the following format:

ObjectRefRequest {id (string): Id of object resource}

facts Optional List of facts that apply to this object.

Array[string] Provide a list of attribute IDs and values for the facts in the following format:

FactRequest {attributeId (string): Attribute id ,value (string, optional): Fact value}

id Required The ID of the object resource.

string Provide the resource ID.

46 Chapter 3: Object APIs

Page 47: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

srcLinks Optional An upstream of objects.

Array[string] Provide a list of association IDs, object resource IDs, attribute IDs, and property value for the source links in the following format:

LinkedObjectRequest {association (string): Association id ,id (string): Id of object resource ,linkProperties (Array[LinkPropertyRequest], optional)}LinkPropertyRequest {attributeId (string): Attribute id ,value (string, optional): Property value}

attributeId Required The ID of the attribute.

string Provide the attribute ID.

value Optional The fact value. string Provide the fact value.

association Required The ID of the association.

string Provide the association ID.

Object Modification APIs 47

Page 48: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Parameter Required or Optional Description Data Type Values

linkProperties Optional The request includes attribute ID and property value.

Array[string] Provide a request for link properties in the following format:

LinkPropertyRequest {attributeId (string): Attribute id ,value (string, optional): Property value}

value Optional The property value.

string Provide the property value.

Response Codes

Code Reason

201 Created.

400 Missing or invalid parameter.

401 Missing credentials.

403 User does not have the required access permissions.

404 Requested object not found.

412 Conflicting edit detected.

429 Rate limit for requests encountered.

Sample Call Using Curlcurl -X PUT --header "Content-Type: application/json" --header "Accept: application/json" -d "cust" "http://inrh65n3:7085/access/2/catalog/data/objects/100"

48 Chapter 3: Object APIs

Page 49: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

C h a p t e r 4

Use CasesThis chapter includes the following topics:

• Sample Use Cases, 49

• Retrieve Attribute Details, 50

• Retrieve Attribute Details for a Class, 51

• Retrieve Objects Using Object Name, 51

• Retrieve Object Details Using Object ID, 52

• Retrieve Relationships Between Objects, 52

• Update Custom Attribute, 53

• Update a Custom Attribute and Custom Reference Attribute for an Object, 54

• Create Custom Attribute, 55

• Create Reference Attribute, 56

Sample Use CasesThe sample use cases provide scenarios to show you how you can use the REST APIs to retrieve or update information. The samples include Java code samples that you can use with the bundled Java client and the Curl call samples for the REST APIs.The following are the list of sample use cases for the REST APIs:

• Retrieve the last modified details of an attribute.

• Retrieve the attribute details of a class.

• Retrieve objects using object name.

• Retrieve object details using object ID.

• Retrieve relationships for columns.

• Create a custom attribute with specific properties to search for locations based on a ZIP code.

• Update a custom attribute and custom reference attribute for an object.

• Update a custom attribute.

• Create a custom reference attribute that updates a change to the attribute across all the fields where the attribute is associated.

49

Page 50: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

The commands common for all the sample use cases to import the package, included models, HTTP client, and the code to initialize the Java client are provided for reference:

// Copyright (c) 2017 Informatica Corporation. All rights reserved.

package com.infa.products.ldm.ingestion.rest.api.samples;

import com.infa.products.ldm.core.rest.v2.client.api.CatalogApi;import com.infa.products.ldm.core.rest.v2.client.invoker.ApiException;import com.infa.products.ldm.core.rest.v2.client.invoker.ApiResponse;import com.infa.products.ldm.core.rest.v2.client.models.AttributePostRequest;import com.infa.products.ldm.core.rest.v2.client.models.AttributePutRequest;import com.infa.products.ldm.core.rest.v2.client.models.AttributeResponse;import com.infa.products.ldm.core.rest.v2.client.models.AttributesRequest;import com.infa.products.ldm.core.rest.v2.client.models.AttributesResponse;import com.infa.products.ldm.core.rest.v2.client.models.FactRequest;import com.infa.products.ldm.core.rest.v2.client.models.Link;import com.infa.products.ldm.core.rest.v2.client.models.Links;import com.infa.products.ldm.core.rest.v2.client.models.ModelRefRequest;import com.infa.products.ldm.core.rest.v2.client.models.ObjectIdRequest;import com.infa.products.ldm.core.rest.v2.client.models.ObjectResponse;import com.infa.products.ldm.core.rest.v2.client.models.ObjectsResponse;import com.infa.products.ldm.core.rest.v2.client.models.RefAttributePost;import com.infa.products.ldm.core.rest.v2.client.models.RefAttributesPost;import com.infa.products.ldm.core.rest.v2.client.models.RefAttributesResponse;import com.infa.products.ldm.core.rest.v2.client.utils.ObjectAdapter;

import java.math.BigDecimal;import java.util.ArrayList;import java.util.Arrays;import java.util.List;

import com.squareup.okhttp.CurlLogger;public class RestSamples {

private final CatalogApi api; /** * Initialize the api client. Must be done once before it can be used. * * @param username * @param password * @param basePath Base URL of rest api ex. http://localhost:8080/access/2 */ public RestSamples(String username, String password, String basePath) { this.api = new CatalogApi(); this.api.getApiClient().setUsername(username); this.api.getApiClient().setPassword(password); this.api.getApiClient().setBasePath(basePath); }

Retrieve Attribute DetailsThe sample use case is to retrieve the last modified details of an attribute.You can use the REST API to retrieve the information in one of the following ways:Using Java code and the Bundled Java Client

public void getAttributeLastModifiedDetails() throws ApiException { final String attributeId = "core.lastModified";// Method 1, filter catalog/models/attributes using id parameterAttributesResponse attrsResponse = this.api.catalogModelsAttributesGet( new ArrayList<>(Arrays.asList(attributeId)), null, null, null); AttributeResponse attrResponse = attrsResponse.getItems().get(0); attrResponse.getSearchable();//Method 2, use the attributeId to directly fetch the details

50 Chapter 4: Use Cases

Page 51: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

attrResponse = this.api.catalogModelsAttributesIdGet(attributeId); attrResponse.getDataTypeId(); } }

Using Curl

// Method 1, filter catalog/models/attributes using id parameter curl -X GET --header "Accept: application/json" "http://localhost:13000/2/catalog/models/attributes?id=core.lastModified"////Method 2, use the catalog/models/attributes/{id} to directly fetch the details curl -X GET --header "Accept: application/json" "http://localhost:13000/2/catalog/models/attributes/core.lastModified"

Retrieve Attribute Details for a ClassThe sample use case is to retrieve the attribute details of a class ad all the included sub classes.You can use the REST API and create the custom reference attribute in one of the following ways:Using Java code and the Bundled Java Client

public void getAttributesForClassDataElement() throws ApiException { final String classId = "core.DataElement"; AttributesResponse response = null; List<String> attributeNames = new ArrayList<>(); int offset = 0; do {response = this.api.catalogModelsAttributesGet(null, new ArrayList<>(Arrays.asList(classId)), new BigDecimal(offset), new BigDecimal(20)); // Increment offset to fetch next page offset += 20; for (AttributeResponse attr : response.getItems()) { attributeNames.add(attr.getName()); } // If there are more than 20 results, you can do a loop operation to fetch all the results } while (offset < response.getMetadata().getTotalCount().intValue()); } } }

Using Curl

curl -X GET --header "Accept: application/json" "http://localhost:13000/2/catalog/models/attributes?classId=core.DataElement&offset=0&pageSize=20"

Retrieve Objects Using Object NameThe sample use case is to find all the tables that has the word Customer in the table name.You can use the REST API to retrieve the information in one of the following ways:

Retrieve Attribute Details for a Class 51

Page 52: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Using Java code and the Bundled Java Client

public void searchForObjects() throws ApiException { BigDecimal offset = BigDecimal.ZERO; final BigDecimal pageSize = BigDecimal.valueOf(20); ObjectsResponse response = null; do { response = this.api.catalogDataObjectsGet( "core.name:*customer* AND core.classType:com.infa.ldm.relational.Table", null, offset, pageSize, false); for (ObjectResponse obj : response.getItems()) { // Do something with the returned objects obj.getFacts(); } offset = offset.add(pageSize); } while (response.getMetadata().getTotalCount().longValue() > pageSize.longValue()); }

Using Curl

curl -X GET --header "Accept: application/json" --header "Content-Type: application/json" "http://localhost:13000/2/catalog/data/objects?q=core.name%3A*customer*%20AND%20core.classType%3Acom.infa.ldm.relational.Table&offset=0&pageSize=20&related=false"

Retrieve Object Details Using Object IDThe sample use case is to use the object ID resource://1262125 to retrieve the details of the object.You can use the REST API to retrieve the information in one of the following ways:Using Java code and the Bundled Java Client

public void getObjectDetails() { try { ObjectResponse response = this.api.catalogDataObjectsIdGet("resource://1262125"); // Do something with the returned object response.getFacts(); } catch (ApiException e) {} }} catch (ApiException e) {} }

Using Curl

curl -X GET --header "Accept: application/json" --header "Content-Type: application/json" "http://localhost:13000/2/catalog/data/objects/resource~3a~~2f~~2f~1262125" ObjectResponse response = this.api.catalogDataObjectsIdGet("resource://1262125");

Retrieve Relationships Between ObjectsThe sample use case is to retrieve the columns that are downstream in the data flow from the Employee_Name column.

You can use the REST API to retrieve the information in one of the following ways:

52 Chapter 4: Use Cases

Page 53: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Using Java code and the Bundled Java Client

public void getDownstreamColumns() { try { Links links = this.api.catalogDataRelationshipsGet(new ArrayList<>(Arrays.asList("resource://Employees/Name")), new ArrayList<>(Arrays.asList("core.DataFlow")), BigDecimal.ZERO, "OUT", true, false, new ArrayList<>(Arrays.asList("core.name"))); for (Link link : links.getItems()) { // Do something with the returned link link.getOutEmbedded().getFacts(); } } catch (ApiException e) {} }

Using Curl

curl -X GET --header "Accept: application/json" --header "Content-Type: application/json" "http://localhost:13000/2/catalog/data/relationships?seed=resource%3A%2F%2FEmployees%2FName&association=core.DataFlow&direction=OUT&removeDuplicateAggregateLinks=true&depth=0&includeTerms=false&includeAttribute=core.name"

Update Custom AttributeThe sample use case is to search for a custom attribute by the name Region that needs to be updated with the following properties:

• Boost value for the custom attribute to be made High.

• The custom attribute must be displayed in the list of facets.

• The description of the custom attribute must be updated to Custom attribute to search for locations based on ZIP code.

You can use the REST API and update the custom attribute in one of the following ways:Using Java code and the Bundled Java Client

public void updateRegionCustomAttribute(String regionAttributeId) throws ApiException {// Fetch attribute to be updatedApiResponse<AttributeResponse> httpResponse = this.api.catalogModelsAttributesIdGetWithHttpInfo( regionAttributeId);// ETag ensures there are no conflicting edits String etag = httpResponse.getHeaders().get("ETag").get(0); AttributeResponse attrResponse = httpResponse.getData();// Copy the response into a request so that you can modify the request. AttributePutRequest attrRequest = ObjectAdapter.INSTANCE.copyIntoAttributePutRequest(attrResponse); attrRequest.boost(AttributePutRequest.BoostEnum.HIGH); attrRequest.addClassesItem(new ModelRefRequest().id("core.DataElement")); attrRequest.facetable(true); attrRequest.description("Custom attribute to search for locations based on ZIP code.");this.api.catalogModelsAttributesIdPut(regionAttributeId, attrRequest, etag); } }

Using Curl

// Fetch attribute to be updated curl -X GET --header "Accept: application/json" "http://localhost:13000/2/

Update Custom Attribute 53

Page 54: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

catalog/models/attributes/com.infa.appmodels.ldm.LDM_a496a2d3_0c07_47e6_a941_fe081ff90f01"// Send request to update curl -X PUT --header "If-Match: 49590122486d7e1d2a726f4ff1bf3276" --header "Accept: application/json" --header "Content-Type: application/json" -d "{ \"boost\": \"HIGH\", \"name\": \"Region\", \"facetable\": true, \"description\": \"Custom attribute to search for locations based on ZIP code.\", \"classes\": [ { \"id\": \"core.DataElement\" } ]}" "http://localhost:13000/2/catalog/models/attributes/com.infa.appmodels.ldm.LDM_a496a2d3_0c07_47e6_a941_fe081ff90f01"

Update a Custom Attribute and Custom Reference Attribute for an Object

The sample use case is to update a custom attribute and a custom reference attribute for an object. To update the object, you fetch the object and create a request object from the response. Next, configure the facts and send the request.

You can use the REST API to retrieve the information in one of the following ways:Using Java code and the Bundled Java Client

public void setContactAndRegion(String contactAttrId, String regionAttrId) { try { // Fetch the object you want to update ApiResponse<ObjectResponse> objApiResponse = this.api.catalogDataObjectsIdGetWithHttpInfo("resource://obj1"); String etag = objApiResponse.getHeaders().get("ETag").get(0); ObjectResponse obj = objApiResponse.getData(); // Always create a request object from response. ObjectIdRequest request = ObjectAdapter.INSTANCE.copyIntoObjectIdRequest(obj); // Set the fact values. // Since the contact is a reference attribute, set the projectedFrom field to the id of the object that you are referencing instead of the value request.getFacts().add(new FactRequest().attributeId(contactAttrId).projectedFrom("resource://User1")); // Region is a string, so set the value directly request.getFacts().add(new FactRequest().attributeId(regionAttrId).value("North East")); // Send the request, etag is required to ensure no concurrent modifications are made to the object. this.api.catalogDataObjectsIdPut("resource://obj1", request, etag); } catch (ApiException e) {} } }

54 Chapter 4: Use Cases

Page 55: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

Using Curl

Fetch the object JSON to has to be updated. Also, read the ETag header returned in the response.

curl -X GET --header "Accept: application/json" --header "Content-Type: application/json" "http://localhost:13000/2/catalog/data/objects/resource~3a~~2f~~2f~obj1"

From the returned JSON, remove all the read only facts and links. Do not remove any custom facts and links or they get deleted. Add the updated facts to JSON. Send the JSON along with ETag using curl command.

curl -X PUT --header "If-Match: 0f7ddbbfc724c49364bf632aa73a906b" --header "Accept: application/json" --header "Content-Type: application/json" -d "{ \"facts\": [ { \"attributeId\": \"com.infa.appmodels.ldm.LDM_c952777e_e2bd_4dfe_871c_80fa1a51087f\", \"projectedFrom\": \"resource://User1\" }, { \"attributeId\": \"com.infa.appmodels.ldm.LDM_de552671_6939_4f13_b68c_7b4f8d5e4c80\", \"value\": \"North East\" } ], \"srcLinks\": [], \"businessTerms\": []}" "http://localhost:13000/2/catalog/data/objects/resource~3a~~2f~~2f~obj1"

Create Custom AttributeThe sample use case is to create a custom attribute with the with the following properties:

• The custom attribute must be named Region.

• The custom attribute must be of data type string.

• The boost value for the custom attribute must be Medium.

• The custom attribute can have multiple values.

• You must be able to search in the catalog using the custom attribute.

• You must be able to sort the catalog search results based on the custom attribute.

• The custom attribute must appear in suggestions.

You can use the REST API and create the custom reference attribute in one of the following ways:Using Java code and the Bundled Java Client

public String createRegionCustomAttribute() throws ApiException { AttributesRequest attributes = new AttributesRequest() .addItemsItem(new AttributePostRequest() .name("Region") .dataTypeId("core.String") .boost(AttributePostRequest.BoostEnum.MEDIUM) .multivalued(true) .searchable(true) .sortable(true) .suggestable(true));AttributesResponse response = this.api.catalogModelsAttributesPost(attributes); AttributeResponse createdAttribute = response.getItems().get(0); // Unique id is created by the system return createdAttribute.getId(); } }

Create Custom Attribute 55

Page 56: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

}

Using Curl

curl -X POST --header "Accept: application/json" --header "Content-Type: application/json" -d "{ \"items\": [ { \"boost\": \"MEDIUM\", \"name\": \"Region\", \"dataTypeId\": \"core.String\", \"multivalued\": true, \"suggestable\": true, \"sortable\": true, \"searchable\": true, \"facetable\": false, \"classes\": [] } ]}" "http://localhost:13000/2/catalog/models/attributes

Create Reference AttributeThe sample use case is to create a reference attribute with the with the following properties:

• The custom reference attribute must be named Contact.

• The custom reference attribute projects the name of an ISP user into the Contact attribute field of an object.

• If the name of the ISP user changes, all the Contact custom reference attribute fields must be updated.

• The Contact custom reference attribute can be associated with any class.

• Provide the description for the custom reference attribute as Person to contact for more information.

• You must be able to search in the catalog using the custom reference attribute.

You can use the REST API and create the custom reference attribute in one of the following ways:Using Java code and the Bundled Java Client

public void createContactReferenceAttribute() throws ApiException {this.api.catalogModelsReferenceAttributesPost(new RefAttributesPost() .addItemsItem(new RefAttributePost() .name("Contact") .refDataTypeId("com.infa.ldm.isp.UserDatatype") .description("Person to contact for more information.") .searchable(false) .addClassesItem(new ModelRefRequest().id("core.IClass")))); } }

Using Curl

curl -X POST --header "Accept: application/json" --header "Content-Type: application/json" -d "{ \"items\": [ { \"refDataTypeId\": \"com.infa.ldm.isp.UserDatatype\", \"name\": \"Contact\", \"description\": \"Person to contact for more information.\", \"searchable\": false, \"classes\": [

56 Chapter 4: Use Cases

Page 57: C a t a l o g R E S T A P I R e f e r e n c ... - Informatica Documentation/6/IN_102...Informatica Enterprise Information Catalog REST API Reference 10.2 August 2017File Size: 781KBPage

{ \"id\": \"core.IClass\" } ] } ]}" "http://localhost:13000/2/catalog/models/referenceAttributes"

Create Reference Attribute 57