Professional Documents
Culture Documents
API1
API1
API1
DEVELOPER GUIDE
Available in
C8 V7.6
December, 2022
i
Centric 8 REST API DEVELOPER GUIDE
Centric Software, Inc. Copyright © 2022 Centric Software. All rights reserved. Under
655 Campbell Technology Parkway, the copyright laws, neither the documentation nor the software
Suite 200, Campbell may be copied, photocopied, reproduced, translated, or reduced
CA 95008 to any electronic medium or machine-readable form, in whole or
Ph. No.: 1.408.574.7802 in part, without the prior written consent of Centric Software,
Inc., except in the manner described in the documentation.
Technical Support: Centric Software™, Centric 8™, and Centric 8 for Fashion & Soft
866. 796-6218 8:00 AM-8:00 PM EST Goods™ are trademarks or registered trademarks of Centric
Email: support@centricsoftware.com Software, Inc. Microsoft, Internet Explorer, and Outlook are
trademarks or registered trademarks of Microsoft Corporation in
Documentation Feedback: the United States and/or other countries. Other product or
Email: documentation@centricsoftware.com
company names mentioned herein may be trademarks of their
respective owners.
Copyrights ii
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS
TABLE OF CONTENTS ............................................................................................................................. 3
REST API Technical Support............................................................................................................. 44
1. API USAGE GUIDELINE .................................................................................................................... 45
2. CENTRIC 8 REST API ........................................................................................................................ 49
What is the Centric 8 REST API? ...................................................................................................... 49
How to access the C8 REST API ....................................................................................................... 50
What is a Centric 8 REST URI? ......................................................................................................... 50
URI SYNTAX ................................................................................................................................................................................. 51
VERSION NAMING CONVENTION .............................................................................................................................................. 51
ENDPOINT EXAMPLES ................................................................................................................................................................ 52
Centric Custom Views................................................................................................................................................................. 52
3. LIMITATIONS .................................................................................................................................. 53
4. REST ENDPOINT DETAILS ................................................................................................................ 54
HTTP Request and Response Bodies in the C8 REST API ......................................................................................................... 54
Optional “link” header parameter for the ref objects ............................................................................................................. 55
Monitoring REST API performance via Response Header profile parameters ....................................................................... 55
Custom View alternatives to REST endpoint formats .............................................................................................................. 56
Authenticating Using REST API........................................................................................................ 57
Fine-Tuning Queries in the C8 REST API ........................................................................................... 58
Passing Specific Extra Data in the Query................................................................................................................................... 58
URL (Query) Parameter .............................................................................................................................................................. 59
List of valid URL (Query) parameters ........................................................................................................................................ 60
Encoding Data ............................................................................................................................................................................. 63
API Header(s) .............................................................................................................................................................................. 66
Custom Expression Validation in REST API ....................................................................................... 66
Authenticating to the Centric 8 Server ............................................................................................ 67
Configuring the Centric Server for REST........................................................................................... 68
Centric Server Configuration ..................................................................................................................................................... 68
Custom Attribute Configuration ................................................................................................................................................ 68
Wild-Card Search ............................................................................................................................ 70
REST API Log................................................................................................................................... 71
How to log API execution time .................................................................................................................................................. 72
How to enable Splunk and LaaS compatible log ...................................................................................................................... 73
Log levels in keyvalue format .................................................................................................................................................... 73
REST Interaction with Centric FileVault ........................................................................................... 74
Filevault ....................................................................................................................................................................................... 74
Concept of Document Revision ................................................................................................................................................. 74
Running Same Validation Rules for REST and UI Calls ...................................................................... 75
5. DOMAIN-ASSET RELATED APIS ........................................................................................................ 77
AcceptanceLimit ............................................................................................................................. 77
Creating AcceptanceLimit .......................................................................................................................................................... 77
Reading AcceptanceLimit ........................................................................................................................................................... 77
Updating AcceptanceLimit ......................................................................................................................................................... 77
Deleting AcceptanceLimit .......................................................................................................................................................... 77
Attribute List of AcceptanceLimit .............................................................................................................................................. 78
TABLE OF CONTENTS 3
Centric 8 REST API DEVELOPER GUIDE
AffectedItem .................................................................................................................................. 79
Creating AffectedItem ................................................................................................................................................................ 79
Reading AffectedItem................................................................................................................................................................. 79
Updating AffectedItem............................................................................................................................................................... 79
Deleting AffectedItem ................................................................................................................................................................ 79
Attribute Summary ..................................................................................................................................................................... 80
AffectedSpec .................................................................................................................................. 81
Creating AffectedSpec ................................................................................................................................................................ 81
Reading AffectedSpec ................................................................................................................................................................ 81
Updating AffectedSpec............................................................................................................................................................... 81
Deleting AffectedSpec ................................................................................................................................................................ 81
Attribute Summary ..................................................................................................................................................................... 82
ApparelBOM................................................................................................................................... 84
Creating ApparelBOM ................................................................................................................................................................ 84
Reading ApparelBOM ................................................................................................................................................................. 84
Updating ApparelBOM ............................................................................................................................................................... 84
Deleting ApparelBOM ................................................................................................................................................................ 84
Attribute List of ApparelBOM .................................................................................................................................................... 85
ApparelBOMRevision ...................................................................................................................... 86
Creating ApparelBOMRevision .................................................................................................................................................. 86
Reading ApparelBOMRevision ................................................................................................................................................... 86
Updating ApparelBOMRevision ................................................................................................................................................. 86
DELETE unsupported .................................................................................................................................................................. 86
Attribute List of ApparelBOMRevision ...................................................................................................................................... 87
ApparelBOMSubtype ...................................................................................................................... 88
Creating ApparelBOMSubtype................................................................................................................................................... 88
Reading ApparelBOMSubtype ................................................................................................................................................... 88
Updating ApparelBOMSubtype ................................................................................................................................................. 88
Deleting ApparelBOMSubtype................................................................................................................................................... 88
Attribute List of ApparelBOMSubtype ...................................................................................................................................... 89
ApparelDimension .......................................................................................................................... 90
Creating ApparelDimension ....................................................................................................................................................... 90
Reading ApparelDimension........................................................................................................................................................ 90
Updating ApparelDimension...................................................................................................................................................... 90
Deleting ApparelDimension ....................................................................................................................................................... 90
Attribute List of ApparelDimension........................................................................................................................................... 91
Artwork .......................................................................................................................................... 92
Creating Artwork ........................................................................................................................................................................ 92
Reading Artwork ......................................................................................................................................................................... 92
Updating Artwork ....................................................................................................................................................................... 92
Deleting Artwork......................................................................................................................................................................... 92
Attribute List of Artwork ............................................................................................................................................................ 93
ArtworkRevision ............................................................................................................................. 94
Creating ArtworkRevision .......................................................................................................................................................... 94
Reading ArtworkRevision ........................................................................................................................................................... 94
Updating ArtworkRevision ......................................................................................................................................................... 94
DELETE unsupported .................................................................................................................................................................. 94
Attribute List of ArtworkRevision .............................................................................................................................................. 95
AuthenticationType ........................................................................................................................ 96
Reading AuthenticationType ..................................................................................................................................................... 96
Method: POST, PUT & DELETE are unsupported...................................................................................................................... 96
Attribute List of authentication_types ...................................................................................................................................... 96
TABLE OF CONTENTS 4
Centric 8 REST API DEVELOPER GUIDE
Avatar ............................................................................................................................................ 97
Creating Avatar ........................................................................................................................................................................... 97
Reading Avatar............................................................................................................................................................................ 97
Updating Avatar .......................................................................................................................................................................... 97
Deleting Avatar ........................................................................................................................................................................... 97
Attribute Summary ..................................................................................................................................................................... 98
AvatarLibrary ................................................................................................................................. 99
Creating AvatarLibrary ............................................................................................................................................................... 99
Reading AvatarLibrary ................................................................................................................................................................ 99
Updating AvatarLibrary .............................................................................................................................................................. 99
Deleting AvatarLibrary ............................................................................................................................................................... 99
Attribute Summary ................................................................................................................................................................... 100
BOMSectionDefinition .................................................................................................................. 101
Creating BOMSectionDefinition .............................................................................................................................................. 101
Reading BOMSectionDefinition ............................................................................................................................................... 101
Updating BOMSectionDefinition ............................................................................................................................................. 101
Deleting BOMSectionDefinition .............................................................................................................................................. 101
Attribute List of BOMSectionDefinition .................................................................................................................................. 102
BOMSupplierAttributes................................................................................................................. 103
Reading BOMSupplierAttributes ............................................................................................................................................. 103
Updating BOMSupplierAttributes ........................................................................................................................................... 103
Deleting BOMSupplierAttributes ............................................................................................................................................. 103
Method:POST unsupported ..................................................................................................................................................... 103
Attribute List of BOMSupplierAttributes ................................................................................................................................ 104
BusinessObject ............................................................................................................................. 105
Reading BusinessObject ........................................................................................................................................................... 105
Attribute Summary ................................................................................................................................................................... 105
CalendarTrackingType .................................................................................................................. 106
Reading CalendarTrackingType ............................................................................................................................................... 106
Attribute Summary ................................................................................................................................................................... 106
CamundaGlobal............................................................................................................................ 107
Reading CamundaGlobal .......................................................................................................................................................... 107
Method: POST, PUT & DELETE unsupported .......................................................................................................................... 107
Attribute List of CamundaGlobal ............................................................................................................................................. 108
CamundaProcessDefinition ........................................................................................................... 109
Reading CamundaProcessDefinition ....................................................................................................................................... 109
POST, PUT & DELETE unsupported .......................................................................................................................................... 109
Attribute List of CamundaProcessDefinition .......................................................................................................................... 110
CamundaProcessDefinitionRevision .............................................................................................. 111
Reading CamundaProcessDefinitionRevision ......................................................................................................................... 111
Method: POST, PUT & DELETE unsupported .......................................................................................................................... 111
Attribute List of CamundaProcessDefinitionRevision ............................................................................................................ 112
CamundaProcessInstance ............................................................................................................. 113
Reading CamundaProcessInstance.......................................................................................................................................... 113
Method: POST, PUT & DELETE unsupported .......................................................................................................................... 113
Attribute List of CamundaProcessInstance............................................................................................................................. 114
CamundaTask............................................................................................................................... 116
Reading CamundaTask ............................................................................................................................................................. 116
Method: POST, PUT & DELETE unsupported .......................................................................................................................... 116
Attribute List of CamundaTask ................................................................................................................................................ 117
CamundaTaskDefinition................................................................................................................ 120
Reading CamundaTaskDefinition ............................................................................................................................................ 120
TABLE OF CONTENTS 5
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 6
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 7
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 8
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 9
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 10
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 11
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 12
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 13
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 14
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 15
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 16
Centric 8 REST API DEVELOPER GUIDE
FoodSource................................................................................................................................... 328
Creating FoodSource ................................................................................................................................................................ 328
Reading FoodSource ................................................................................................................................................................. 328
Updating FoodSource ............................................................................................................................................................... 328
Deleting FoodSource ................................................................................................................................................................ 328
Attribute Summary ................................................................................................................................................................... 329
FoodSKU ....................................................................................................................................... 330
Creating FoodSKU ..................................................................................................................................................................... 330
Reading FoodSKU...................................................................................................................................................................... 330
Updating FoodSKU.................................................................................................................................................................... 330
Deleting FoodSKU ..................................................................................................................................................................... 330
Attribute Summary ................................................................................................................................................................... 331
FoodSupplierItem ......................................................................................................................... 332
Creating FoodSupplierItem ...................................................................................................................................................... 332
Reading FoodSupplierItem....................................................................................................................................................... 332
Updating FoodSupplierItem ..................................................................................................................................................... 332
Deleting FoodSupplierItem ...................................................................................................................................................... 332
Attribute Summary ................................................................................................................................................................... 333
FormulatedMaterial ..................................................................................................................... 334
Creating FormulatedMaterial .................................................................................................................................................. 334
Reading FormulatedMaterial ................................................................................................................................................... 334
Updating FormulatedMaterial ................................................................................................................................................. 334
Deleting FormulatedMaterial .................................................................................................................................................. 334
Attribute Summary ................................................................................................................................................................... 335
FPItem.......................................................................................................................................... 337
Creating FPItem ........................................................................................................................................................................ 337
Reading FPItem ......................................................................................................................................................................... 337
Updating FPItem ....................................................................................................................................................................... 337
Deleting FPItem ........................................................................................................................................................................ 337
Attribute Summary ................................................................................................................................................................... 338
Group ........................................................................................................................................... 339
Creating Group.......................................................................................................................................................................... 339
Reading Group .......................................................................................................................................................................... 339
Updating Group ........................................................................................................................................................................ 339
Deleting Group.......................................................................................................................................................................... 339
Attribute List of Group ............................................................................................................................................................. 340
Holiday ......................................................................................................................................... 341
Creating Holiday ....................................................................................................................................................................... 341
Reading Holiday ........................................................................................................................................................................ 341
Updating Holiday ...................................................................................................................................................................... 341
Deleting Holiday........................................................................................................................................................................ 341
Attribute List of Holiday ........................................................................................................................................................... 342
HolidayCalendar ........................................................................................................................... 343
Creating HolidayCalendar ........................................................................................................................................................ 343
Reading HolidayCalendar ......................................................................................................................................................... 343
Updating HolidayCalendar ....................................................................................................................................................... 343
Deleting HolidayCalendar ........................................................................................................................................................ 343
Attribute List of HolidayCalendar ............................................................................................................................................ 344
Image ........................................................................................................................................... 345
Creating and uploading Image ................................................................................................................................................. 345
Reading Image .......................................................................................................................................................................... 345
Updating Image......................................................................................................................................................................... 346
TABLE OF CONTENTS 17
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 18
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 19
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 20
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 21
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 22
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 23
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 24
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 25
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 26
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 27
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 28
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 29
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 30
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 31
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 32
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 33
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 34
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 35
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 36
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 37
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 38
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 39
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 40
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 41
Centric 8 REST API DEVELOPER GUIDE
ObjectTree.................................................................................................................................... 805
Querying Business Object Tree ................................................................................................................................................ 805
Method: POST, PUT, DELETE are unsupported ...................................................................................................................... 805
Example 1: using ObjectTree ................................................................................................................................................... 806
Example 2: ................................................................................................................................................................................. 808
Session ......................................................................................................................................... 810
Creating a new C8 API Session (login) ..................................................................................................................................... 810
Read, Update of Session is unsupported ................................................................................................................................ 810
Deleting (invalidating) a user session (logout) ....................................................................................................................... 811
Session Create Request Attributes .......................................................................................................................................... 811
Session Create Response Attributes ....................................................................................................................................... 811
Example: AUTHENTICATING USING SESSION ........................................................................................................................ 813
Version ......................................................................................................................................... 815
Reading Version ........................................................................................................................................................................ 815
Method: POST, PUT, DELETE are unsupported ...................................................................................................................... 815
Attribute List of Version ........................................................................................................................................................... 815
ClassRelationships ........................................................................................................................ 816
Querying ClassRelationship...................................................................................................................................................... 816
Example ..................................................................................................................................................................................... 816
ClassRelationship.......................................................................................................................... 819
7. SAMPLE UTILITY CODES IN JAVA.................................................................................................... 821
Creating Time String Parameter.................................................................................................... 821
Encoding and Decoding a URI ....................................................................................................... 822
Java Program example to encode and decode URI ................................................................................................................ 822
Uploading a document using DocumentRevisions ......................................................................... 826
A Java example to show how to upload a document to Centric filevault by using DocumentRevision............................. 826
Uploading a file or a 3D Document using Documents endpoint ..................................................... 827
Uploading a file or a Centric 3D file using the Documents endpoint.................................................................................... 827
8. JAVA SAMPLE REST CLIENT CODE .................................................................................................. 830
How to Setup Development Environment ...................................................................................... 830
Calling Centric REST API using Java ............................................................................................... 831
Client Source Code - TestREST ....................................................................................................... 832
Source Code: CallREST.............................................................................................................................................................. 834
Source Code: HttpResultBean.................................................................................................................................................. 840
Source Code: C8Endpoints ....................................................................................................................................................... 844
9. FAQ .............................................................................................................................................. 846
Object Change Detection .............................................................................................................. 846
REST Session timeout .................................................................................................................... 846
Create an on-line Customers, Suppliers and SalesDivision.............................................................. 847
Assigning a role to the on-line Customers, Suppliers and SalesDivision .......................................... 849
Refset Attribute Changes .............................................................................................................. 850
Calling API in Postman .................................................................................................................. 852
How API attributes behave in Swagger ......................................................................................... 853
Legend ....................................................................................................................................................................................... 853
Attributes and its’s meaning in API definition ........................................................................................................................ 854
10. OBJECT DIAGRAM (UML) ............................................................................................................ 858
Style hierarchy .............................................................................................................................. 858
11. HTTP CODES AND MESSAGES ...................................................................................................... 859
TABLE OF CONTENTS 42
Centric 8 REST API DEVELOPER GUIDE
TABLE OF CONTENTS 43
Centric 8 REST API DEVELOPER GUIDE
In few cases, the horizontal scaling can help mitigate performance issues. But the horizontal
scaling comes at a cost and even after scaling horizontally there comes a point in time where
DBs behave inconsistently irrespective of traffic.
NOTE:
Observe common read/write data that is accessed by multiple users. Such frequently data
types can be cached.
Once there is new content, write to DB, invalidate the cache and update the cache
asynchronously.
For example:
There are certain scenario where you would need to perform certain GET action before
you can perform PUT/POST calls. Try caching certain library centric URL in local memory
or DB to reduce making GET calls every time.
GET call(s) related to Master Library data can be cached. For example, Currency, Size(s),
Size Range, etc.
• Reduce the number of separate GET requests by first defining a C8 custom view
specifying all the related data you need, then issuing GET requests for the custom view
data. This allows you to retrieve data from across object domains, and just the attributes
you want to see. This both reduces the number of GET requests and eliminates the
overhead of retrieving attributes you do not need. You retrieve related matrix details
pre-assembled, having these complex relationships organized for you, based on your
custom view definition. This technique may reduce or eliminate the need for caching
values. Also significantly, there is only a single result node, irrespective of how much data
is returned. This nearly eliminates Java node cache overhead when retrieving thousands
of nodes at a time. Refer to the topic REST GET incremental updates to C8 custom views
for detailed information in the Advanced Administrator Guide – Volume II document.
4. Lookup multiple results in a single request: Instead of looking up REST endpoint data for
individual nodes by url, supply a list of urls to lookup custom view results for multiple
nodes with a single request. Refer to the topic REST GET custom view payload for a list
of nodes for detailed information in the Advanced Administrator Guide – Volume II
document.
5. Look into pagination of calls and not get bulk results: Paginating is one of the ways to
avoid loading C8 server with heavy requests. Wherever C8 provides pagination for its API
calls, try using those parameters.
For example, Rest call to get multiple placements. Use Skip and Limit parameter to avoid
getting a huge result set . Here we are saying get 10 results per rest call.
http://testserver.centricsoftware.com/csi-requesthandler/api/v2/placements?skip=0&limit=10
6. Get the count of records before fetching the total number of records. This will act as a
preliminary check to optimize your api call (via pagination)
7. Reduce query parameters on Get call. Avoid querying on attributes of an object, if
possible. Rather query on the object and parse the result.
However if you add custom query parameters to get a more specific result, it may effect
the api performance.
8. API usage is not a high throughput operation. Avoid large data load operation and use
rest calls for targeted operation
Avoid heavy usage of import/export of large files via Rest API. Rest APIs will however
functionally address these operations.
If you are considering high volume operations and throughput look into C8 products to
optimize performance. For example, Centric High Speed Exporter or Import/Export
Gateway
• If you are facing performance issues, please look into Performance tool. It can be found
under Node Browser > Monitor > Performance.
10. Note: Every Rest call to C8 is made through a valid session token. If the session token is
expired, then Rest calls will have to be re-authenticated.
11. If any of the above guidelines are missing, then look into other products to complete
your use case.
If you are facing issues with rest performance consistently and have high volume
transactions, please look into other C8 products as such Centric High Speed Exporter or
Import/Export Gateway.
12. Customer can perform a search to find out what API exists in C8:
To find out if an API exists against an object, attribute, etc, you can run the API thats
under:
It has various query parameters against which you can perform the search for an API.
13. Multiple REST API login via the same credentials is discouraged:
There exists some contention when multiple parallel logins are performed via the same
user login credentials. This leads to performance issues. Each users should own their C8
login and license, and thus separate information recording their login time, etc.
Centric will support any customer issues related to Rest call failures or bugs.
Customer owns and is fully responsible for their programs (design, development, testing,
maintenance) that incorporate C8 REST API. Any further support in terms of performance
and debugging will be worked under C8 services contract (CAMS/Service Pools).
Use-cases that benefit from avoiding the UI include very brief tasks at one extreme, also highly
repetitive tasks, and very simple tasks, which would be all the slower if they require a user to
navigate nested tabs and links. Such tasks could be automated by a small script associated with
a button or desktop link. At another extreme, they include highly complex or error-prone tasks,
which may require control by other systems, such as integration with with ERP systems,
dashboards, or even machine learning or AI based expert systems.
The Centric 8 REST API drops the visual cues of the Centric 8 UI and provides a consistent minimal
interface to shorten the access path to Centric 8 data (domain classes) resources. Using the C8
REST API, and your preferred programming language, Centric 8 can be automated, and
integrated with other enterprise systems, web, or mobile applications.
In summary, the REST API provides programmatic access to core C8 resources in tasks which will
benefit from automation, whether due to their extreme brevity, simplicity, or repetition, or, at
another extreme, because of their complexity.
A Note on Terminology
There is a term, “CRUD” that has come to be associated with REST APIs because it is an acronym
for Create, Read, Update and Delete, the operations enabled by an API. The original meaning of
“crud” in English was (and still is) dirt, filth or garbage, or something just irrelevant to the subject
under discussion. Despite the negative associations, the term “CRUD” is often used as verbal
shorthand with regard to APIs.
Our REST API is implemented in HTTP, and its most-used operations: POST, GET, PUT, and DELETE
map to the terms that pertain to “CRUD”. The HTTP-style terms, are not unique in their first
letter, but “CRUD” is, and it maps to each operation uniquely, and without the need to fully spell
out each term. It is also just easier to remember and to say.
So, one will see this term frequently in this Developer Guide and in associated documentation,
often as “full CRUD”, which means that all REST API operations are available for a given domain
class. Sometimes, only a subset of CRUD is allowed, such as for read-only endpoints. In those
cases, one usually sees only the applicable terms used, either from “create”, “read”, “update”
and “delete”, or their POST, GET, PUT, and DELETE counterparts.
As mentioned, the API allows CRUD operations to be performed by invoking the API using HTTP
POST, GET, PUT and DELETE request methods. The API will restrict the logged-in API user to the
CRUD operations authorized by their C8 role.
In web terminology, the classes are called the "resources" and the data is called the
“representation”. The representation is provided in two formats: XML and JSON. CRUD
operations can be performed by calling an endpoint using various HTTP methods.
The parameters and values are passed via URL, HTTP header, and HTTP body. Web technologies
can be used to interact with the REST API including a browser to query any Centric class.
This Developer Guide provides the details necessary to use the Centric 8 REST API, as well as
various working program examples and code.
In addition, the REST API is now integrated with Shadow Tables, providing true incremental
change tracking for REST endpoints, and even incremental change tracking for C8 custom views.
Refer to topics REST GET incremental updates to REST endpoints and REST GET incremental
updates to C8 custom views in the C8 Advanced Administrator Guide – Volume II document.
Using Shadow Table integration, you may also GET a set of nodes at a time REST GET custom
view payload for a list of nodes. For information, refer to the topic REST GET custom view
payload for a list of nodes in the C8 Advanced Administrator Guide – Volume II document.
URI SYNTAX
http[s]://{c8server}/csi-requesthandler/api/{version}/{resource_path}
where:
ENDPOINT EXAMPLES
Recent enhancements allow for returning the results of a C8 custom view through the REST API
REST GET incremental updates to C8 custom views . This allows a request to span multiple object
domains, as C8 custom views allow for flexible assembly of data via relationships. The custom
view support offers an alternative to the traditional endpoint boundaries. It also reduces the
programming effort to handle complex structures, as the relationships are derived from the
custom view definition and the results per-assembled for you.
3. LIMITATIONS
Timestamps in the C8 database are exposed in the C8 REST API, but they are not guaranteed to
be posted in a strictly increasing order. So, they are not reliable for detecting changes.
• Timestamps from operations that were started objectively earlier may be more costly in
database operations and time than operations that were actually started later.
• As a result, the earlier operation may show a later date-time than timestamps that were
actually started later.
• Logic based on C8 timestamps will therefore sometimes miss detecting changes.
Adding custom attributes as export switches for REST API requires application logic (outside the
REST API) to set the switches, then follow-up logic to reset the switches after export. Extra logic
needs to be written and maintained, adding overhead to developing the interface.
Both limitations are mitigated using the C8 feature “GET incremental updates to REST
endpoints”.
LIMITATIONS 53
Centric 8 REST API DEVELOPER GUIDE
This URI string will prefix all actual request URIs composed from the following documentation.
The documentation uses the ./ prefix to call it out as a partial URI. For example a version 2
session endpoint URI will look like:
http://myc8server.com/csi-requesthandler/api/v2/part_material
http://myc8server.com/csi-requesthandler/api/v3/part_material
In this developer guide, the endpoint URIs are abbreviated as a short form without any
version specific context. So the above two URIs will be shown as:
./part_material
• One submits data using the body of the HTTP request/ response. The data payload format
can be either JSON or XML. The format being used should be specified in the Content-
Type HTTP request header.
• Centric 8 object attribute names follow the snake case convention where an underscore
character is inserted at the Upper/Lower case transition point such as “my_attribute”.
• Many Business Objects have mandatory create only fields. These are marked in the
endpoint details. If one tries to create an object without passing mandatory attributes, an
error will be presented.
• Read-only fields can not be set in either POST or PUT.
• One should not include fields with empty values in POST or PUT unless it is intended for
the value to be empty in C8.
• The response to POST and PUT always returns a GET resource. Fields with empty values
may be omitted from the GET resource response object.
The response payload only returns the object ID for any referenced object. If passing the
optional “link” parameter in the HTTP header, the response will include an additional section
named “_links”. This section will contain the array of all the URLs of the referenced objects as
shown below.
You can alternatively choose to GET data in a C8 custom view format, as opposed to a REST
endpoint format. This way, you are able to get data related from across object domain
boundaries as a unit, reducing the number of get requests. Your custom views may include
one or more matrices. You will still use REST endpoint formats for POST and PUT calls.
You may also request multiple custom view rows in a single GET call, rather than requesting
just one node at a time. Your custom views may include one or more matrices.
The following sequence diagram shows the high level Rest API authentication activity against
the Centric 8 server.
REST API queries are usually fine-tuned to elicit exactly the data that is desired by either:
This section only deals with the latter: passing specific data in the query itself.
One may use any of several means to pass query-specific data into the C8 REST API. These are:
• In the URL endpoint itself: The documented endpoint (any of the endpoints contained
under Domain-Asset related APIs) may contain curly brackets (“{}”), and text referencing
a specific id. Wherever this is so, one will need to ensure that the text, including the
curly brackets, is replaced by an actual id value. An example of such replacement shown
in the second query in the subsection URI Syntax. Note that the value replacing the curly
bracketed text is always a Centric URL, sometimes also known as a CNL.
• As a URL (query) parameter: A query parameter is an optional part of a URL that comes
after the endpoint. When it does occur, it is always after a question mark, “?”, with
different parameters as name value pairs, each pair separated from the other by an
ampersand “&”. Examples are the skip and limit parameters as well as any of the filters,
as well as any <attribute_name>, <attribute_value pairs> used only with GET all queries
to filter down to a particular record or set of records. A complete list of possible
parameters present at the subsection URL (Query) Parameter.
• As an HTTP(S) header: A specific part of the query that is NOT part of the URL. Examples
include the “accept” and “content-type” headers, as well as the “cookie” security
header that is passed when doing query by query authentication. There is at least one,
and possibly more, endpoints which use specific HTTP(s) headers to pass extra data.
OnlineCrew, for example, retrieves the specified online crew for the Supplier, Customer
or SalesDivision as specified in the header parameter “class_name”, the valid values for
which are: “SupplierCrew”, “CustomerCrew”, “SalesDivisionCrew”, and also match the
<filter_parameters>.
• As part of the HTTP(S) request body: Also not part of the URL, usually a JSON or XML
statement of name value pairs.
A value that is passed in a query is quite often a special construct known as a CURL (for Centric
URL) and sometimes also known as a CNL. The Centric URL is used all throughout the Centric
C8 product to denote specific records. It may (or may not) contain characters that are special
to URL’s.
If you have been reading thoroughly and understanding, you may have noted that the Centric
URL or CURL may be contained in the query URL (either of the two bulleted instances
mentioned above the line: either in the endpoint itself, or in the URL parameters). The
important point here is that sometimes there is a URL embedded… in another URL!
And, sometimes (but not always) the CURL will contain characters that are special to URL’s in
general. In other words, the presence of these special characters can effect changes in the way
that the URL is handled by the browser. To avoid unwanted changes to the way a URL is
handled, the CURL will need to have any URL-special characters protected, or hidden from the
containing URL.
For this reason, CURL’s passed through the URL, whether are In the URL endpoint itself, or as
a URL parameter: are passed as double encoded text. For more information on double-ecoded
Centric URL’s see Encoding Data.
This is the most frequently used mechanism to pass parameters in the Centric 8 REST API. It is
simple to use and works with all HTTP methods, however, it has the following limitations:
• the parameters are passed as clear text, so the parameters are not secured from
hackers,
• the number of parameters or values are limited by the HTTP URL length limitation,
• the parameters and values have to be double encoded to comply with the Centric
server standard.
The URL parameters are also referred to as query parameters. They consist of name / value
pairs separated by a logical operator such as an equal (=) sign. A question-mark separates the
first parameter from the resource_path. Additional parameter pairs are separated using an
ampersand (&) character.
Example of =gt:
a_number=gt100
searching for objects with a_number
greater than 100
Encoding Data
Special Characters
The term “special character” is used a lot. But the precise meaning of the term can vary
depending on what is required of characters in a particular area.
In regard to the REST API, a query is always made as an HTTP request, with a URL that requires
handling by the webserver as it comes into the C8 system.
Characters such as colons (“:”), slashes (“/”), are part of the basic URL construct. When used
within URL’s, the question mark (“?”) signals the presence of URL parameters. and ampersands
(“&”) delimit the different name-value pairs when they appear.
Other characters are, such as plain spaces (“ “) are not permitted in a URL and will trigger an
error condition when present.
But sometimes these characters are passed within a URL without the meaning that they usually
have in the URL. Characters such as the question mark (“?”), the ampersand (“&”) may appear
within the data being passed. are not meant as part of the URL, because they are meant to be
consumed within C8, but are, nonetheless, special to URLs in general.
It may be oversimplifying, but generally, any character other than an upper or lower case letter
or a number could be a special characters with regard to data passed via URLs. For brevity,
let’s call these “alphanumeric”. Though some users of this term may include a space and
common punctuation marks as alphanumeric, we don’t. For our purposes, we mean this in the
strictest sense of only alphabetic and only numeric characters.
Special Characters Not Actually Used as Part of the URL Require Encoding
If a special character will be passed as extra data in the URL of a query, it must to be protected
from being “seen” by the server that handles the query.
The way that such characters are protected is by encoding them, so that within a URL, they do
not appear as the special character, but as a sequence of characters that are not special to the
handling of the URL.
When they are encoded, they are encoded by a specific encoding type called either url-
encoding. This is also called “percent-encoding”, due to the fact that a numeric sequence
representing the character is preceded by a percent sign (“%”). A table of such encodings exists
at URL Encoded Character Table (At present this table does not include anything above lower
case “o”. This is an oversight that will be addressed soon).
In a string such as ‘C0/12|Material’, encoding is obvious, because the encoding causes the
slash (“/”) to change to “%2F” and the pipe to “%7C”: 'C0%2F12%7C'.
The presence or absence of special characters depends on factors that are independent of
any discussed in this section or with the whole of this C8 REST API Programmer’s Guide:
• How the object was imported into the C8 system: importing often embeds non-
alphanumeric data.
• Whether the data allows embedded special characters. Descriptions usually allow any
characters.
• How the data may have been entered, or altered by a rule.
So, there is no controlling the data as to the special characters that may appear. This means
that any solution for handling special characters must be consistently applied.
A string may very well have been encoded, in that it actually underwent the process of
encoding, but the encoding does not cause any character to change. For example, in a string
such as “C2315”, no character is special, and even though it has been encoded, no change can
be seen. The encoded instance of this string is the same as the original: “C2315”.
For this reason, it can confuse the issue (and is incorrect) to say that this string “is not
encoded” based solely on whether it contains encoded characters. Statements about whether
a string is encoded or not are best based whether encoding is made necessary by the
circumstances, NOT on whether any encoded characters exist in the string.
Apart from the requirements of the URL, special characters are encoded inside the C8 engine
when they occur inside CURLs, or CNLs. When using the C8 product via a browser, the
encoding can be seen in the location field of the browser.
Of special concern to the REST API, such Centric URLs (CURLS, or CNLs) are encoded when
they occur in the response to a REST query.
Encoding can be applied multiple times to the same string, and it turns out that there is a
practical reason for distinguishing between multiple encoding and single encoding as we will
see further on. For our purposes, we need to point out here that encoding of characters
within C8 is always single-encoding: The encoding is applied exactly once.
There may be situations where the encoding done by C8 is not wanted, such as in the headers
or body (payload) of a query. For such situations, there is a query parameter: decoded=true
that is used when getting the values. More explanation of this and other query parameters
exists at URL (Query) Parameter.
A REST API implemented using the Swagger toolkit (as ours is) uses the Swagger page is the
reference implementation. The Swagger page is simplified and optimized for ease of use.
A very common set of actions with the REST API is to use a general GET to get several objects,
copy the id value of one of them as an identifier of that particular object, and use it in another
query. The query may be a GET single on just that object, or a POST in a parent class to create
a new subordinate object.
The design of the Swagger page allows copying of the text of an id value in a response, and
pasting it into a field in the Swagger page field which then supplies that value in a query.
When the Swagger page builds a URL, the code behind the Swagger page implementation will
add a layer of encoding to the field contents. Since the CURL (or CNL) that comes out of a
previous query response is single-encoded, the layer of encoding added by the Swagger
implementation makes it double-encoded.
In one sense, the whole Swagger page operation works very smoothly with only a need for a
copy to the system clipboard, then a paste from the clipboard into a field. No intervening re-
encoding is required.
In another sense, the Swagger page operation hides a step from the user, and seems to
indicate that single-encoding is all that is required. The fact that the second layer of encoding
occurs, but is hidden from the Swagger page user, but can be verified. The Swagger page
response is to redisplay the URL that was used in the query. One will see that the encoding of
any CURL (CNL) in the redisplayed URL is different than the original in the field. It has been re-
encoded.
Do not be misled by the fact that the Swagger page adds one layer of encoding. Failing to
understand this point can lead to the misconception that only single-encoding is necessary.
Header Parameters passed as key value pairs. The keys and values should never be encoded
and should be passed as un-encoded text.
Body (also frequently called the “payload”) passed through HTTP request or response as
plain un-encoded text in both the XML and JSON payload. If the parameter value contains any
special characters, then put the value within the CDATA section in XML payload, to prevent
any XML parsing errors. In the JSON payload, no special treatment is necessary.
Encoding and decoding should performed as per UTF-8 standard (RFC 3629). Double
encoding and decoding utility program samples in java and javascript are provided in
“Encoding and Decoding a URI”.
API Header(s)
If you encounter any such issue in Centric 7.0 or a prior version of REST API, please contact
Centric support for a service pack.
There are few special configurations required in the Centric Server before the REST API can be
used and custom attributes can be accessed. Some of the configuration is done by Centric
Business Consultants when the Server is provisioned and others are done by the developers or
Centric Users in Centric UI configuration screen after adding new custom attributes.
The details of the configuration are given below:
2. REST Restricted
Set this flag to expose a custom attribute to the REST API. By default this flag is not set,
therefore, a newly created custom attribute will be absent in the REST GET Payload.
3. REST Update
Checking the REST Update flag makes the custom attribute editable by the REST API
even though it might be hidden or have restricted edit capability in Centric 8 Web UI.
This is useful to restrict the editing of the attribute from the Centric UI but want to
update the attribute programmatically through the REST API.
Wild-Card Search
With 7.3 release (backported to 7.2), API users are able to perform the following kind of
searches against attributes that are directly associated with the object. This kind of search
also works against domain object attributes from its child classes. The attributes against
which such a search would not work are usually those attributes whose relationship is
ref(reference) with the object:
Wild-Card Search
Case-Insensitive Search
Partial Match Search
The syntax to execute the search is:
▪ GET: API URL?parameter_name:wcm=*value*
▪ This kind of search is only available for GET method.
Below are the use cases that help users understand the various ways such searches work in a
GET call:
The RequestId is the unique identifier of a particular REST API request. The RequestId is used
to identify log entries belonging to the same request. It is helpful because usually the log has
interleaved entries from different requests running in parallel.
The add log_perf=true parameter can be added while invoking a REST endpoint to log
timing information for that specific call. The timing parameter details are as follows:
Should any of these timers go very high, one will know where to start looking deeper in order
to understand the underlying performance issue.
It is important to understand that these are just a high-level summary to give that first cut of
where an issue is, or is not. If the application server itself is running slow, it can cloud the values
since they are all elapsed time, not CPU time, so it is just a guide for where to look next.
Example:
To see how much time the Colorway endpoint takes to retrieve a specific Colorway object
with CNL c1234:
https://centric8/csi-requesthandler/api/v2/colorways/c1234?log_perf=true
Since a single Colorway instance has been fetched, the response will be very fast, and most
parameters will be rounded to zero as they are very small. However, if a bigger result-set is
fetched, then positive values will be visible in the timing parameter representing the time
taken in milliseconds:
If no log format header parameter is passed, the REST call will be logged in default Centric Log
format.
NOTE: If a value is “null” or “” then the info will not be available for that log message.
Log level = DEBUG
payload and node’s attributes (“node_attributes”) will be also logged. Payload will be stored
in key=’value’ format. Attribute will be in “Attribute(ID=<attribute name>, Value=<attribute
value>),” format, for an example: “Attribute(ID=DocumentsAndComments,
Value=Node(C3404)), “
Filevault
The uploaded digital asset binaries are stored in a folder named “Filevault” of a Direct Attached
or Network Attached file system. The Centric Server strips out the file name and mime type of
the digital asset and replaces it with a GUID in the filevault. This provides additional security
from unauthorized filevault folder access as the accessor will have no idea about the file
content by looking at those GUIDs. When the file is downloaded via the Centric web application
or the REST API, the Centric server provides the proper filename and mime type while
streaming it back to the client machine.
Centric digital asset persistence does not preserve the original file
permission or creation date time stamp. The downloaded file date
time stamp will reflect the date and time when the file was saved in
the file vault.
For example,
If the user requires that a Style node is created and description is mandatory for both UI and
REST calls.
1. Create the validation rule under Style object. Assign the rule to “Default” validation
group.
2. Go to Validation Group tab , create the REST Validation group and assign the same rule
to the REST Validation group.
Reading AcceptanceLimit
Method: GET
URI Relative Path Comments
Updating AcceptanceLimit
Method: PUT
URI Relative Path Comments
Deleting AcceptanceLimit
Method: DELETE
URI Relative Path Comments
AffectedItem
Creating AffectedItem
Method:POST
URI Relative Path Comments
Reading AffectedItem
Method:GET
URI Relative Path Comments
Updating AffectedItem
Method:PUT
URI Relative Path Comments
Deleting AffectedItem
Method:DELETE
URI Relative Path Comments
Attribute Summary
AffectedSpec
Creating AffectedSpec
Method:POST
URI Relative Path Comments
Reading AffectedSpec
Method:GET
URI Relative Path Comments
Updating AffectedSpec
Method:PUT
URI Relative Path Comments
Deleting AffectedSpec
Method:DELETE
URI Relative Path Comments
Attribute Summary
ReviewColorway;
ReviewSKU;
PropertiesDataSheet;
ColorDataSheet;
CollectionMatrix;
ReviewStyle; TestRun;
ReviewCollection;
Question; PriceList;
SupplierContractualDoc
ument;
CareAndComposition;
SubRouting;
FoodSupplierItem;
FactoryComplianceItem;
Routing; Workflow;
ImageDataSheet;
CamundaProcessDefinit
ion;
ContractualDocument;
MaterialSchedule;
ReviewFood;
InspectionTestSpec;
TestSpec;
DataSheetSizeLabel;
MaterialDataSheet;
SizeChartReview;
SpecificationDataSheet;
CollectionColor;
SpecificationDataSheet
SupplierResponse;
SupplierItem
spec_type enum C/O This attribute requires
module:
EngineeringChange to be
installed. Otherwise, it is
ignored.
referenced_docume reflist Document R/W
nts
links (_links) refmap R/O C8 Ref to URL Lookup
map.
ApparelBOM
Creating ApparelBOM
Method:POST
URI Comments
Reading ApparelBOM
Method:GET
URI Comments
[[&<filter_parameters>]..]
Updating ApparelBOM
Method:PUT
URI Comments
Deleting ApparelBOM
Method:DELETE
URI Comments
ApparelBOMRevision
Prior to the 7.0 release, use version V2 of these APIs. If the user is
using Centric 8 version 7.0 and above, then use version V3 of these
APIs.
Creating ApparelBOMRevision
Method:POST
URI Comments
Reading ApparelBOMRevision
Method:GET
URI Comments
[[&<filter_parameters>]..]
Updating ApparelBOMRevision
Method:PUT
URI Comments
DELETE unsupported
ApparelBOMSubtype
Creating ApparelBOMSubtype
Method:POST
URI Comments
Reading ApparelBOMSubtype
Method:GET
URI Comments
[[&<filter_parameters>]..]
Updating ApparelBOMSubtype
Method:PUT
URI Comments
Deleting ApparelBOMSubtype
Method:DELETE
URI Comments
• The attribute in bold brown color represents OOTB mandatory create only attribute.
ApparelDimension
Creating ApparelDimension
Method:POST
URI Comments
Reading ApparelDimension
Method:GET
URI Comments
Updating ApparelDimension
Method:PUT
URI Comments
Deleting ApparelDimension
Method:DELETE
URI Comments
Artwork
Creating Artwork
Method:POST
URI Comments
Reading Artwork
Method:GET
URI Comments
Updating Artwork
Method:PUT
URI Comments
Deleting Artwork
Method:DELETE
URI Comments
• The attribute in bold blue color represents create only attribute which can be set only when the object is created.
ArtworkRevision
Creating ArtworkRevision
Method:POST
URI Comments
Reading ArtworkRevision
Method:GET
URI Comments
Updating ArtworkRevision
Method:PUT
URI Comments
DELETE unsupported
AuthenticationType
Reading AuthenticationType
Method: GET
URI Comments
Avatar
Creating Avatar
Method:POST
URI Relative Path Comments
Reading Avatar
Method:GET
URI Relative Path Comments
Updating Avatar
Method:PUT
URI Relative Path Comments
Deleting Avatar
Method:DELETE
URI Relative Path Comments
Attribute Summary
AvatarLibrary
Creating AvatarLibrary
Method:POST
URI Relative Path Comments
Reading AvatarLibrary
Method:GET
URI Relative Path Comments
Updating AvatarLibrary
Method:PUT
URI Relative Path Comments
Deleting AvatarLibrary
Method:DELETE
URI Relative Path Comments
Attribute Summary
BOMSectionDefinition
Creating BOMSectionDefinition
Method:POST
URI Comments
Reading BOMSectionDefinition
Method:GET
URI Comments
Updating BOMSectionDefinition
Method:PUT
URI Comments
Deleting BOMSectionDefinition
Method:DELETE
URI Comments
BOMSupplierAttributes
Reading BOMSupplierAttributes
Method:GET
URI Comments
Updating BOMSupplierAttributes
Method:PUT
URI Comments
Deleting BOMSupplierAttributes
Method:DELETE
URI Comments
Method:POST unsupported
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
BusinessObject
Reading BusinessObject
Method:GET
URI Relative Path Comments
Attribute Summary
CalendarTrackingType
Reading CalendarTrackingType
Method:GET
URI Relative Path Comments
Attribute Summary
CamundaGlobal
Reading CamundaGlobal
Method:GET
URI Comments
CamundaProcessDefinition
Reading CamundaProcessDefinition
Method:GET
URI Comments
[[&<filter_parameters>]..]
CamundaProcessDefinitionRevision
Reading CamundaProcessDefinitionRevision
Method:GET
URI Comments
[[&<filter_parameters>]..]
CamundaProcessInstance
Reading CamundaProcessInstance
Method:GET
URI Comments
{camunda_process_instance_id}
[[&<filter_parameters>]..]
PropertiesDataSheet; SKUMaterial;
Style; Defect; Supplier; Question;
StockOrder; MerchSeason; Season;
TestSpecGroup;
SupplierContractualDocument;
QuestionSubsection;
PrintDesignColor; SubQuestion;
Routing; MerchFolderVersion;
ContractualDocument; MCMaterial;
MarketingSegment;
FinalInspectionBatch;
MCProductSKU;
MaterialDataSheet; ShapeMaster;
MerchFolder; Theme;
DigitalCatalog; SizeChartReview;
SpecificationDataSheet;
SupplierItem; AcceptanceLimit;
Issue; SMProduct; LookupItem;
PrintDesign; SelectSet; Colorway;
SKUMaterialSource;
PurchasedOrderGroup;
ReviewCollection; SalesOrder;
CareAndComposition; SubRouting;
Order; ProductSalesRegionSpec;
MaterialSample;
FactoryComplianceItem;
InformationEvent; Shipment;
MerchPlan; ImageDataSheet;
MerchSecondaryVersion;
PurchasedOrderColor;
FactoryReview; RoutingGroup;
Collection; SamplingPlan;
SampleStorage;
ThemeProductAlternative;
OperationsIssue;
ORQuestionSubsection;
MerchDetails;
MerchSecondaryPlan;
DocumentGroup; Factory;
SpecificationSection;
SpecificationItemDefinition;
ProductColorShipment;
SupplierReview;
DigitalCatalogLook; SelectSetItem;
ReviewColorway;
ContractualDocumentPackage;
ShipmentTerms; ReviewStyle;
Increment; SampleDimensions;
CostScenario; SampleMaterialSpec;
Scorecard; PriceList;
MCProductColor; SalesLook;
CustomerPurchaseOrder;
QuestionSection; Sample;
MerchCollection; SalesCollection;
Material; ThemeMaster; Contact;
SalesPromo; SupplierRequest;
TestSpec; SKUSource;
ORSubQuestion; MarketingLook;
SupplierReviewEvent; SKU;
MerchOption; ORQuestionSection;
MarketingTool; ProductStructure
links (_links) refmap R/O C8 Ref to URL Lookup map.
CamundaTask
Reading CamundaTask
Method:GET
URI Comments
ReviewSKU;
ProductSalesRegion;
PropertiesDataSheet;
SKUMaterial; Style; Defect;
Supplier; Question; StockOrder;
MerchSeason; Season;
TestSpecGroup;
SupplierContractualDocument;
QuestionSubsection;
PrintDesignColor; SubQuestion;
Routing; MerchFolderVersion;
ContractualDocument;
MCMaterial; MarketingSegment;
FinalInspectionBatch;
MCProductSKU;
MaterialDataSheet;
ShapeMaster; MerchFolder;
Theme; DigitalCatalog;
SizeChartReview;
SpecificationDataSheet;
SupplierItem; AcceptanceLimit;
Issue; SMProduct; LookupItem;
PrintDesign; SelectSet;
Colorway; SKUMaterialSource;
PurchasedOrderGroup;
ReviewCollection; SalesOrder;
CareAndComposition;
SubRouting; Order;
ProductSalesRegionSpec;
MaterialSample;
FactoryComplianceItem;
InformationEvent; Shipment;
MerchPlan; ImageDataSheet;
MerchSecondaryVersion;
PurchasedOrderColor;
FactoryReview; RoutingGroup;
Collection; SamplingPlan;
SampleStorage;
ThemeProductAlternative;
OperationsIssue;
ORQuestionSubsection;
MerchDetails;
MerchSecondaryPlan;
DocumentGroup; Factory;
SpecificationSection;
SpecificationItemDefinition;
ProductColorShipment;
SupplierReview;
DigitalCatalogLook;
SelectSetItem;
ReviewColorway;
ContractualDocumentPackage;
ShipmentTerms; ReviewStyle;
Increment; SampleDimensions;
CostScenario;
SampleMaterialSpec;
Scorecard; PriceList;
MCProductColor; SalesLook;
CustomerPurchaseOrder;
QuestionSection; Sample;
MerchCollection;
SalesCollection; Material;
ThemeMaster; Contact;
SalesPromo; SupplierRequest;
TestSpec; SKUSource;
ORSubQuestion;
MarketingLook;
SupplierReviewEvent; SKU;
MerchOption;
ORQuestionSection;
MarketingTool; ProductStructure
candidate_groups refset Role; Group R/O This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
candidate_users refset User R/O This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
modified_by ref User R/O This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
process_definition ref CamundaProcessDefinitionRevi R/O This attribute requires
sion module: Camunda to be installed.
Otherwise, it is ignored.
task_definition ref CamundaTaskDefinition R/O This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
comments string R/W This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
due_date time R/W This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
priority enum R/W This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
user_response string R/W This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
assignee ref User R/W This attribute requires
module: Camunda to be installed.
Otherwise, it is ignored.
links (_links) refmap R/O C8 Ref to URL Lookup map.
CamundaTaskDefinition
Reading CamundaTaskDefinition
Method:GET
URI Comments
[[&<filter_parameters>]..]
CanvasTemplate
Creating CanvasTemplate
Method:POST
URI Comments
Reading CanvasTemplate
Method:GET
URI Comments
Updating CanvasTemplate
Method:PUT
URI Comments
Deleting CanvasTemplate
Method:DELETE
URI Comments
MerchPlanSubtype;
PropertiesDataSheetSu
btype;
SizeChartSubtype;
MerchOptionSubtype;
MerchProductSubtype;
TestSpecSubtype;
FactorySubtype;
SupplierSubtype;
ReviewColorwaySubtyp
e; SubRoutingSubtype;
SupplierItemSubtype;
ImageDataSheetSubtyp
e; DocumentSubtype
_url_base_template string R/O File (image, pdf, document) retrieval
URL template.
links (_links) refmap R/O C8 Ref to URL Lookup map.
• The attribute in bold blue color represents create only mandatory attribute.
CareAndComposition
Creating CareAndComposition
Method:POST
URI Comments
Reading CareAndComposition
Method:GET
URI Comments
Updating CareAndComposition
Method:PUT
URI Comments
{care_and_composition_id}
Deleting CareAndComposition
Method:DELETE
URI Comments
{care_and_composition_id}
CareAndCompositionRevision
Creating CareAndCompositionRevision
Method:POST
URI Comments
Reading CareAndCompositionRevision
Method:GET
URI Comments
Updating CareAndCompositionRevision
Method:PUT
URI Comments
CareSymbol
Creating CareSymbol
Method:POST
URI Comments
Reading CareSymbol
Method:GET
URI Comments
Updating CareSymbol
Method:PUT
URI Comments
Deleting CareSymbol
Method:DELETE
URI Comments
Category1
Creating Category1
Method:POST
URI Comments
Reading Category1
Method:GET
URI Comments
Updating Category1
Method:PUT
URI Comments
Deleting Category1
Method:DELETE
URI Comments
Category2
Creating Category2
Method:POST
URI Comments
Reading Category2
Method:GET
URI Comments
Updating Category2
Method:PUT
URI Comments
Deleting Category2
Method:DELETE
URI Comments
ClaimItem
Creating ClaimItem
Method:POST
URI Relative Path Comments
Reading ClaimItem
Method:GET
URI Relative Path Comments
Updating ClaimItem
Method:PUT
URI Relative Path Comments
Deleting ClaimItem
Method:DELETE
URI Relative Path Comments
Attribute Summary
Classifier0
Creating Classifier0
Method:POST
URI Comments
Reading Classifier0
Method:GET
URI Comments
Updating Classifier0
Method:PUT
URI Comments
Deleting Classifier0
Method:DELETE
URI Comments
Classifier1
Creating Classifier1
Method:POST
URI Comments
Reading Classifier1
Method:GET
URI Comments
Updating Classifier1
Method:PUT
URI Comments
Deleting Classifier1
Method:DELETE
URI Comments
Classifier2
Creating Classifier2
Method:POST
URI Comments
Reading Classifier2
Method:GET
URI Comments
Updating Classifier2
Method:PUT
URI Comments
Deleting Classifier2
Method:DELETE
URI Comments
Classifier3
Creating Classifier3
Method:POST
URI Comments
Reading Classifier3
Method:GET
URI Comments
Updating Classifier3
Method:PUT
URI Comments
Deleting Classifier3
Method:DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
Collection
Creating Collection
Method:POST
URI Comments
Reading Collection
Method:GET
URI Comments
Updating Collection
Method:PUT
URI Comments
Deleting Collection
Method:DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
• The attribute in bold brown color represents OOTB mandatory attribute.
ColorColorwayContext
Creating ColorColorwayContext
Method:POST
URI Comments
Reading ColorColorwayContext
Method:GET
URI Comments
Updating ColorColorwayContext
Method:PUT
URI Comments
Deleting ColorColorwayContext
Method:DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
ColorDataSheet
Creating ColorDataSheet
Method:POST
URI Comments
Reading ColorDataSheet
Method:GET
URI Comments
[[&]limit=n][& <filter_parameters>]..]
./color_data_sheets/{color_data_sheet_id} Retrieves the specified ColorDataSheet
object.
./color_data_sheets[?[skip=m][[&]limit=n] Retrieves the ColorDataSheet objects
which match the <filter_parameters>
[& <filter_parameters>]..]
Updating ColorDataSheet
Method:PUT
URI Comments
Deleting ColorDataSheet
Method:DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
• The attribute in bold brown color represents OOTB mandatory attribute.
ColorDataSheetRevision
Creating ColorDataSheetRevision
Method:POST
URI Comments
Reading ColorDataSheetRevision
Method:GET
URI Comments
Updating ColorDataSheetRevision
Method:PUT
URI Comments
ColoInPalette
Creating ColorInPalette
Method:POST
URI Comments
Reading ColorInPalette
Method:GET
URI Comments
Updating ColorInPalette
Method:PUT
URI Comments
Deleting ColorInPalette
Method:DELETE
URI Comments
Attribute Summary
ColorMaterial
Creating ColorMaterial
Method:POST
URI Comments
Reading ColorMaterial
Method:GET
URI Comments
Updating ColorMaterial
Method:PUT
URI Comments
Deleting ColorMaterial
Method:DELETE
URI Comments
ColorPalette
Creating ColorPalette
Method:POST
URI Comments
Reading ColorPalette
Method:GET
URI Comments
Updating ColorPalette
Method:PUT
URI Comments
Deleting ColorPalette
Method:DELETE
URI Comments
Attribute Summary
ColorSpecification
Creating ColorSpecification
Method:POST
URI Comments
{lib_color_specification_id}/elements
Reading ColorSpecification
Method:GET
URI Comments
Updating ColorSpecification
Method:PUT
URI Comments
Deleting ColorSpecification
Method:DELETE
URI Comments
Colorway
Creating Colorway
Method:POST
URI Comments
Reading Colorway
Method:GET
URI Comments
Updating Colorway
Method:PUT
URI Comments
Deleting Colorway
Method:DELETE
URI Comments
Comment
Creating Comment
Method:POST
URI Comments
Reading Comment
Method:GET
URI Comments
Updating Comment
Method:PUT
URI Comments
Deleting Comment
Method:DELETE
URI Comments
CommentReply
Creating CommentReply
Method:POST
URI Comments
Reading CommentReply
Method:GET
URI Comments
[& <filter_parameters>]..]
./comment_replies/{comment_reply_id} Retrieves the specified CommentReply object.
Updating CommentReply
Method:PUT
URI Comments
Deleting CommentReply
Method:DELETE
URI Comments
CompetitiveFood
Creating CompetitiveFood
Method:POST
URI Relative Path Comments
Reading CompetitiveFood
Method:GET
URI Relative Path Comments
Updating CompetitiveFood
Method:PUT
Deleting CompetitiveFood
Method:DELETE
URI Relative Path Comments
Attribute Summary
CompanyInfo
Reading CompanyInfo
Method:GET
URI Comments
Updating CompanyInfo
Method:PUT
URI Comments
Composition
Creating Composition
Method:POST
URI Comments
Reading Composition
Method:GET
URI Comments
Updating Composition
Method:PUT
URI Comments
Deleting Composition
Method:DELETE
URI Comments
CompositionPlacement
Creating CompositionPlacement
Method:POST
URI Comments
Reading CompositionPlacement
Method:GET
URI Comments
Updating CompositionPlacement
Method:PUT
URI Comments
Deleting CompositionPlacement
Method:DELETE
URI Comments
ConfigurableAttribute
Creating ConfigurableAttribute
Method:POST
URI Relative Path Comments
Reading ConfigurableAttribute
Method:GET
URI Relative Path Comments
Updating ConfigurableAttribute
Method:PUT
Deleting ConfigurableAttribute
Method:DELETE
URI Relative Path Comments
Attribute Summary
Contact
Creating Contact
Method:POST
URI Comments
po_customer_frozen_contact
Reading Contact
Method:GET
URI Comments
po_customer_frozen_contact[?[skip=m][
[&]limit=n][&<filter_parameters>]..]
./purchase_orders/{purchase_order_id} Retrieve the Contact objects referenced by
/ PurchaseOrder which match query string values.
po_factory_frozen_contact[?[skip=m][[
&]limit=n]
[&<filter_parameters>]..]
./sales_orders/{sales_order_id}/buyer Retrieve the Contact objects referenced by
_bill_to_frozen SalesOrder which match query string values.
[?[skip=m][[&]limit=n][&<filter_param
eters>]..]
./sales_orders/{sales_order_id}/ Retrieve the Contact objects referenced by
SalesOrder which match query string values.
buyer_contact_frozen[?[skip=m][[&]lim
it=n]
[&<filter_parameters>]..]
./sales_orders/{sales_order_id}/buyer Retrieve the Contact objects referenced by
_ship_to_frozen SalesOrder which match filter parameters
specified as query string values.
[?[skip=m][[&]limit=n][&<filter_param
eters>]..]
./sales_orders/{sales_order_id}/selle Retrieve the Contact objects referenced by
r_contact_frozen SalesOrder which match filter parameters
specified as query string values.
[?[skip=m][[&]limit=n][&<filter_param
eters>]..]
./sales_orders/{sales_order_id}/selle Retrieve the Contact objects referenced by
r_pay_to_frozen SalesOrder which match filter parameters
specified as query string values.
[?[skip=m][[&]limit=n][&<filter_param
eters>]..]
./shipment_terms/{shipment_term_id}/ Retrieve the Contact objects referenced by
ShipmentTerm which match filter parameters
alternative_stuffing_location[?[skip= specified as query string values.
m][[&]limit=n]
[&<filter_parameters>]..]
Updating Contact
Method:PUT
URI Comments
Deleting Contact
Method:DELETE
URI Comments
ContractualDocument
Creating ContractualDocument
Method:POST
URI Comments
Reading ContractualDocument
Method:GET
URI Comments
Updating ContractualDocument
Method:PUT
URI Comments
Deleting ContractualDocument
Method:DELETE
URI Comments
ContractualDocumentGroup
Creating ContractualDocumentGroup
Method:POST
URI Comments
Reading ContractualDocumentGroup
Method:GET
URI Comments
{contractual_document_group_id}
./contractual_document_groups[? Retrieve the ContractualDocumentGroup objects
[skip=m][[&]limit=n][&<filter_p referenced by ContractualDocumentGroup which match
arameters>]..] filter parameters specified as query string values.
Updating ContractualDocumentGroup
Method:PUT
URI Comments
Deleting ContractualDocumentGroup
Method:DELETE
URI Comments
ContractualDocumentPackage
Creating ContractualDocumentPackage
Method:POST
URI Comments
Reading ContractualDocumentPackage
Method:GET
URI Comments
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
./contractual_document_packages/ Retrieve the specified
ContractualDocumentPackage object.
{contractual_document_package_id}
./contractual_document_packages Retrieve the ContractualDocumentPackage
objects which match the filter parameter.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating ContractualDocumentPackage
Method:PUT
URI Comments
Deleting ContractualDocumentPackage
Method:DELETE
URI Comments
ContractualDocumentRevision
Creating ContractualDocumentRevision
Method:POST
URI Comments
Reading ContractualDocumentRevision
Method:GET
URI Comments
Updating ContractualDocumentRevision
Method:PUT
URI Comments
ContractualDocumentSubtype
Creating ContractualDocumentSubtype
Method:POST
URI Comments
Reading ContractualDocumentSubtype
Method:GET
URI Comments
Updating ContractualDocumentSubtype
Method:PUT
URI Comments
Deleting ContractualDocumentSubtype
Method:DELETE
URI Comments
CostMaterial
Creating CostMaterial
Method:POST
URI Comments
Reading CostMaterial
Method:GET
URI Comments
Updating CostMaterial
Method:PUT
URI Comments
Deleting CostMaterial
Method:DELETE
URI Comments
CostRoutingGroup
Reading CostRoutingGroup
Method:GET
URI Comments
Updating CostRoutingGroup
Method:PUT
URI Comments
CostRoutingItem
Creating CostRoutingItem
Method:POST
URI Comments
Reading CostRoutingItem
Method:GET
URI Comments
Updating CostRoutingItem
Method:PUT
URI Comments
Deleting CostRoutingItem
Method:DELETE
URI Comments
CostScenario
Creating CostScenario
Method:POST
URI Comments
Reading CostScenario
Method:GET
URI Comments
[& <filter_parameters>]..]
Updating CostScenario
Method:PUT
URI Comments
Deleting CostScenario
Method:DELETE
URI Comments
Country
Creating Country
Method:POST
URI Comments
Reading Country
Method:GET
URI Comments
Updating Country
Method:PUT
URI Comments
Deleting Country
Method:DELETE
URI Comments
CreateFormDefinition
Reading CreateFormDefinition
Method:GET
URI Comments
Updating CreateFormDefinition
Method:PUT
URI Comments
Attribute Summary
Crew
Creating Crew
Method:POST
URI Comments
./crews/parent/{parent_id} Creates a new Crew object from the parent with specified id.
A list of valid parent object types are listed below.
Reading Crew
Method:GET
URI Comments
Updating Crew
Method:PUT
URI Comments
Deleting Crew
Method:DELETE
URI Comments
CrewAssignment
Creating CrewAssignment
Method:POST
URI Comments
Reading CrewAssignment
Method:GET
URI Comments
[& <filter_parameters>]..]
./crew_assignments/{crew_assignment_id} Retrieve the specified CrewAssignment object
Updating CrewAssignment
Method:PUT
URI Comments
Deleting CrewAssignment
Method:DELETE
URI Comments
Currency
Creating Currency
Method:POST
URI Comments
Reading Currency
Method:GET
URI Comments
Updating Currency
Method:PUT
URI Comments
Deleting Currency
Method:DELETE
URI Comments
CurrencyExchangeRate
Creating CurrencyExchangeRate
Method:POST
URI Comments
Reading CurrencyExchangeRate
Method:GET
URI Comments
Updating CurrencyExchangeRate
Method:PUT
URI Comments
Deleting CurrencyExchangeRate
Method:DELETE
URI Comments
{currency_exchange_rate_id}
CurrencyExchangeTable
Creating CurrencyExchangeTable
Method:POST
URI Comments
Reading CurrencyExchangeTable
Method:GET
URI Comments
Updating CurrencyExchangeTable
Method:PUT
URI Comments
Deleting CurrencyExchangeTable
Method:DELETE
URI Comments
Customer
Creating Customer
Method:POST
URI Comments
Reading Customer
Method:GET
URI Comments
Updating Customer
Method:PUT
URI Comments
Deleting Customer
Method:DELETE
URI Comments
CustomerOrder
Creating CustomerOrder
Method:POST
URI Comments
Reading CustomerOrder
Method:GET
URI Comments
Updating CustomerOrder
Method:PUT
URI Comments
Deleting CustomerOrder
Method:DELETE
URI Comments
CustomerPurchaseOrder
Creating CustomerPurchaseOrder
Method:POST
URI Comments
Reading CustomerPurchaseOrder
Method:GET
URI Comments
{customer_purchase_order_id}
./customer_purchase_orders Retrieves the CustomerPurchaseOrder objects which
[?[skip=m][[&]limit=n][& matches the <filter_parameters> included in the
<filter_parameters>]..] resource_path.
Updating CustomerPurchaseOrder
Method:PUT
URI Comments
{customer_purchase_order_id}
Deleting CustomerPurchaseOrder
Method:DELETE
URI Comments
{customer_purchase_order_id}
DataPackage
Creating DataPackage
Method:POST
URI Comments
Reading DataPackage
Method:GET
URI Comments
Updating DataPackage
Method:PUT
URI Comments
Deleting DataPackage
Method:DELETE
URI Comments
DataPackageTemplate
Creating DataPackageTemplate
Method:POST
URI Comments
Reading DataPackageTemplate
Method:GET
URI Comments
Updating DataPackageTemplate
Method:PUT
URI Comments
Deleting DataPackageTemplate
Method:DELETE
URI Comments
DataPackageTemplateSheet
Creating DataPackageTemplateSheet
Method:POST
URI Comments
data_sheets
Reading DataPackageTemplateSheet
Method:GET
URI Comments
data_sheets[?[skip=m][[&]limit=n]
[& <filter_parameters>]..]
./data_package_template_sheets/ Retrieves the specified
DataPackageTemplateSheetobject.
{data_package_template_sheet_id}
./data_package_template_sheets Retrieves the DataPackageTemplateSheet objects
which match the <filter_parameters>.
[?[skip=m][[&]limit=n]
[& <filter_parameters>]..]
Updating DataPackageTemplateSheet
Method:PUT
URI Comments
Deleting DataPackageTemplateSheet
Method:DELETE
URI Comments
DataSheetPage
Creating DataSheetPage
Method:POST
URI Comments
Reading DataSheetPage
Method:GET
URI Comments
[&<filter_parameters>]..]
[[&]limit=n][&<filter_parameters>]..]
{data_sheet_page_id}
[[&]limit=n][&<filter_parameters>]..]
Updating DataSheetPage
Method:PUT
URI Comments
Deleting DataSheetPage
Method:DELETE
URI Comments
DataSheetSizeLabel
Creating DataSheetSizeLabel
Method:POST
URI Comments
Reading DataSheetSizeLabel
Method:GET
URI Comments
[[&]limit=n][&<filter_parameters>]..]
./data_sheet_size_labels/ Retrieves the specified DataSheetSizeLabel
object.
{data_sheet_size_label_id}
Updating DataSheetSizeLabel
Method:PUT
URI Comments
Deleting DataSheetSizeLabel
Method:DELETE
URI Comments
DataSheetSizeLabelRevision
Creating DataSheetSizeLabelRevision
Method:POST
URI Comments
Reading DataSheetSizeLabelRevision
Method:GET
URI Comments
Updating DataSheetSizeLabelRevision
Method:PUT
URI Comments
Defect
Creating Defect
Method:POST
URI Comments
Reading Defect
Method:GET
URI Comments
Updating Defect
Method:PUT
URI Comments
Deleting Defect
Method:DELETE
URI Comments
Document
Creating Document and uploading file/s
Method:POST
URI Comments
Reading Document
Method:GET
URI Comments
• ColorMaterial
• ColorSpecification
• FinalInspectionBatch
• MCMaterial
• MarketingCollection
• Material
• MarketingTool
• Shape
• ShipmentTerm
• SRLineItem
• Style
• Supplier
• SupplierItem
• TestSpecRevision
• TestRunRevision
• Theme
Updating Document
Method:PUT
URI Comments
Deleting Document
Method:DELETE
URI Comments
is_3d is a create only attribute. It determines if the attached DocumentRevision contains a 3D Document. The
Centric 3D document has regular zip file extension and contains at least one 3D model and optional 3D material
and image files. If the “is_3d” flag is true, Centric UI launches 3D visualization widget to visualize the 3D
interactively. If the flag is false, the attached Document is treated as a regular Zip file.
DocumentRevision
Creating DocumentRevision
Method:POST
URI Comments
Reading DocumentRevision
Method:GET
URI Comments
DSLineDivider
Reading DSLineDivider
Method:GET
URI Comments
Updating DSLineDivider
Method:PUT
URI Comments
Deleting DSLineDivider
Method:DELETE
URI Comments
DutyRate
Creating DutyRate
Method:POST
URI Comments
Reading DutyRate
Method:GET
URI Comments
Updating DutyRate
Method:PUT
URI Comments
Deleting DutyRate
Method:DELETE
URI Comments
DutyRateUsage
Creating DutyRateUsage
Method:POST
URI Comments
Reading DutyRateUsage
Method:GET
URI Comments
[& <filter_parameters>]..]
Updating DutyRateUsage
Method:PUT
URI Comments
Deleting DutyRateUsage
Method:DELETE
URI Comments
EngineeringChange
Creating EngineeringChange
Method:POST
URI Relative Path Comments
Reading EngineeringChange
Method:GET
URI Relative Path Comments
Updating EngineeringChange
Method:PUT
URI Relative Path Comments
Deleting EngineeringChange
Method:DELETE
URI Relative Path Comments
Attribute Summary
module: EngineeringChange to be
installed. Otherwise, it is ignored.
issue_severity enum R/W This attribute requires
module: EngineeringChange to be
installed. Otherwise, it is ignored.
issue_type enum R/W This attribute requires
module: EngineeringChange to be
installed. Otherwise, it is ignored.
images refmap Image R/W
referenced_docume reflist Document R/W
nts
wbs ref Wbs R/W This attribute requires
module: WBS to be installed.
Otherwise, it is ignored.
links (_links) refmap R/O C8 Ref to URL Lookup map.
• The (**) bold purple attribute is required when creating a new EngineeringChange object.
EnumList
Creating EnumList
Method:POST
URI Comments
Reading EnumList
Method:GET
URI Comments
./localization/enum_lists/ Retrieves all the attributes plus the localized name of the
{enum_list_id}/{locale} specified EnumList object for the specified locale. See the
Payload attribute “display_name” for details.
Updating EnumList
Method:PUT
URI Comments
Deleting EnumList
Method:DELETE
URI Comments
./enum_lists/{enum_list_id } Deletes the specified EnumList object. Please note, you cannot
delete any pre-defined EnumList using this endpoint.
• The attribute in bold blue represents attribute which can be set only when the object is created.
• The bold purple is an additional attribute returned in the payload when the localization endpoint is used to query the EnumList
for localized details.
EnumValue
Creating EnumValue
Method:POST
URI Comments
Reading EnumValue
Method:GET
URI Comments
Updating EnumValue
Method:PUT
URI Comments
Deleting EnumValue
Method:DELETE
URI Comments
• The attribute in bold blue represents create only attribute which can be set only when the object is created.
Factory
Creating Factory
Method:POST
URI Comments
Reading Factory
Method:GET
URI Comments
Updating Factory
Method:PUT
URI Comments
Deleting Factory
Method:DELETE
URI Comments
FactoryReview
Creating FactoryReview
Method:POST
URI Comments
Reading FactoryReview
Method:GET
URI Comments
Updating FactoryReview
Method:PUT
URI Comments
Deleting FactoryReview
Method:DELETE
URI Comments
FactoryReviewTemplate
Creating FactoryReviewTemplate
Method:POST
URI Comments
Reading FactoryReviewTemplate
Method:GET
URI Comments
Updating FactoryReviewTemplate
Method:PUT
URI Comments
Deleting FactoryReviewTemplate
Method:DELETE
URI Comments
FactoryReviewTemplateRevision
Creating FactoryReviewTemplateRevision
Method:POST
URI Comments
{factory_review_template_revisions_
id}/revise
Reading FactoryReviewTemplateRevision
Method:GET
URI Comments
Updating FactoryReviewTemplateRevision
Method:PUT
URI Comments
FinalInspection
Creating FinalInspection
Method:POST
URI Comments
Reading FinalInspection
Method:GET
URI Comments
{final_inspection_id}
./final_inspections[?[skip=m][[&] Retrieves the FinalInspection objects which
match the filter parameters.
limit=n][&<filter_parameters>]..]
Updating FinalInspection
Method:PUT
URI Comments
Deleting FinalInspection
Method:DELETE
URI Comments
FinalInspectionBatch
Creating FinalInspectionBatch
Method:POST
URI Comments
Reading FinalInspectionBatch
Method:GET
URI Comments
Updating FinalInspectionBatch
Method:PUT
URI Comments
Deleting FinalInspectionBatch
Method:DELETE
URI Comments
FinalInspectionBatchErrorType
Reading FinalInspectionBatchErrorType
Method:GET
URI Comments
Updating FinalInspectionBatchErrorType
Method:PUT
URI Comments
FinalInspectionBatchSection
Reading FinalInspectionBatchSection
Method:GET
URI Comments
[&<filter_parameters>]..]
Updating FinalInspectionBatchSection
Method:PUT
URI Comments
Deleting FinalInspectionBatchSection
Method:DELETE
URI Comments
FinalInspectionBatchSectionSample
Creating FinalInspectionBatchSectionSample
Method:POST
URI Comments
Reading FinalInspectionBatchSectionSample
Method:GET
URI Comments
[&<filter_parameters>]..]
./final_inspection_batch_section_samples/ Retrieves the specified
FinalInspectionBatchSectionSample
{final_inspection_batch_section_sample_id} object.
./final_inspection_batch_section_samples Retrieves
theFinalInspectionBatchSectionSampl
[?[skip=m][[&]limit=n][&<filter_parameters>].. e objects which match the filter
] parameters.
Updating FinalInspectionBatchSectionSample
Method:PUT
URI Comments
• The attribute in bold brown color represents create only attribute, which can be set only when the object is created.
FinalInspectionBatchSectionSampleDimension
Reading FinalInspectionBatchSectionSampleDimension
Method:GET
URI Comments
Updating FinalInspectionBatchSectionSampleDimension
Method:PUT
URI Comments
dimension_id}
FinalInspectionBatchSectionDimension is a read-update
only object. POST and DELETE methods are unsupported.
FinalInspectionBatchTest
Creating FinalInspectionBatchTest
Method:POST
URI Comments
Reading FinalInspectionBatchTest
Method:GET
URI Comments
[&<filter_parameters>]..]
./final_inspection_batch_tests/ Retrieves the specified
FinalInspectionBatchTest object.
{final_inspection_batch_test_id}
./final_inspection_batch_tests Retrieves theFinalInspectionBatchTest objects
which match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionBatchTest
Method:PUT
URI Comments
Deleting FinalInspectionBatchTest
Method:DELETE
URI Comments
• The attribute in bold blue color represents create only attribute, which can be set only when the object is created.
FinalInspectionBOM
Creating FinalInspectionBOM
Method:POST
URI Comments
Reading FinalInspectionBOM
Method:GET
URI Comments
[&<filter_parameters>]..]
./final_inspection_boms/{final_in Retrieves the specified FinalInspectionBOM object.
spection_id}
./final_inspection_boms[?[skip=m] Retrieves the FinalInspectionBOM objects which match
[[&]limit=n][&<filter_parameters> the filter parameters.
]..]
Updating FinalInspectionBOM
Method:PUT
URI Comments
Deleting FinalInspectionBOM
Method:DELETE
URI Comments
FinalInspectionDataPackage
Reading FinalInspectionDataPackage
Method:GET
URI Comments
[[&<filter_parameters>]..]
FinalInspectionDefect
Creating FinalInspectionDefect
Method:POST
URI Comments
{final_inspection_batch_id}/defects
Reading FinalInspectionDefect
Method:GET
URI Comments
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
./final_inspection_defects/ Retrieves the specified FinalInspectionDefect
object.
{final_inspection_defect_id}
./final_inspection_defects Retrieves the FinalInspectionDefect objects
which match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionDefect
Method:PUT
URI Comments
Deleting FinalInspectionDefect
Method:DELETE
URI Comments
• The attribute in bold blue color represents create only attribute, which can be set only when the object is created.
FinalInspectionErrorType
Creating FinalInspectionErrorType
Method:POST
URI Comments
Reading FinalInspectionErrorType
Method:GET
URI Comments
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
./final_inspection_error_types/ Retrieves the specified FinalInspectionErrorType
object.
{final_inspection_error_type_id}
./final_inspection_error_types Retrieves the FinalInspectionErrorType objects
which match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionErrorType
Method:PUT
URI Comments
Deleting FinalInspectionErrorType
Method:DELETE
URI Comments
• The attribute in bold blue color represents create only attribute, which can be set only when the object is created.
FinalInspectionImageDataSheet
Reading FinalInspectionImageDataSheet
Method:GET
URI Comments
[&<filter_parameters>]..]
Updating FinalInspectionImageDataSheet
Method:PUT
URI Comments
Deleting FinalInspectionImageDataSheet
Method:DELETE
URI Comments
POST unsupported
Method:POST
FinalInspectionLabeledImage
Reading FinalInspectionLabeledImage
Method:GET
URI Comments
[[&<filter_parameters>]..]
FinalInspectionOrder
Creating FinalInspectionOrder
Method:POST
URI Comments
{final_inspection_id}/fi_orders
Reading FinalInspectionOrder
Method:GET
URI Comments
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
./final_inspection_orders/ Retrieves the specified FinalInspectionOrder object.
{final_inspection_order_id}
./final_inspection_orders Retrieves the FinalInspectionOrder objects which
match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionOrder
Method:PUT
URI Comments
{final_inspection_order_id}
Deleting FinalInspectionOrder
Method:DELETE
URI Comments
{final_inspection_order_id}
FinalInspectionPartMaterial
Creating FinalInspectionPartMaterial
Method:POST
URI Comments
Reading FinalInspectionPartMaterial
Method:GET
URI Comments
Updating FinalInspectionPartMaterial
Method:PUT
URI Comments
Deleting FinalInspectionPartMaterial
Method:DELETE
URI Comments
FinalInspectionReviewStyle
Reading FinalInspectionReviewStyle
Method:GET
URI Comments
[[&<filter_parameters>]..]
Deleting FinalInspectionReviewStyle
Method:DELETE
URI Comments
FinalInspectionSection
Creating FinalInspectionSection
Method:POST
URI Comments
Reading FinalInspectionSection
Method:GET
URI Comments
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
./final_inspection_sections/ Retrieves the specified FinalInspectionSection
object.
{final_inspection_section_id}
./final_inspection_sections Retrieves the FinalInspectionSection objects which
match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionSection
Method:PUT
URI Comments
{final_inspection_section_id}
Deleting FinalInspectionSection
Method:DELETE
URI Comments
{final_inspection_section_id}
• The attribute in bold blue can be set only when the object is created.
• The attribute in bold brown color represents mandatory attribute.
FinalInspectionSectionSubtype
Reading FinalInspectionSectionSubtype
Method:GET
URI Comments
[&<filter_parameters>]..]
./final_inspection_section_subtypes/{fi Retrieves the specified
nal_inspection_section_subtype_id} FinalInspectionSectionSubtype object.
• The attribute in bold blue color can be set only when the object is created.
FinalInspectionSecurityGroup
Creating FinalInspectionSecurityGroup
Method:POST
URI Comments
Reading FinalInspectionSecurityGroup
Method:GET
URI Comments
[&<filter_parameters>]..]
Updating FinalInspectionSecurityGroup
Method:PUT
URI Comments
Deleting FinalInspectionSecurityGroup
Method:DELETE
URI Comments
FinalInspectionSizeChart
Creating FinalInspectionSizeChart
Method:POST
URI Comments
Reading FinalInspectionSizeChart
Method:GET
URI Comments
[&<filter_parameters>]..]
./final_inspection_size_charts/ Retrieves the specified
FinalInspectionSizeChart object.
{final_inspection_size_chart_id}
./final_inspection_size_charts[?[skip=m][[&]l Retrieves theFinalInspectionSizeChart
imit=n][&<filter_parameters>]..] objects which match the filter
parameters.
Updating FinalInspectionSizeChart
Method:PUT
URI Comments
Deleting FinalInspectionSizeChart
Method:DELETE
URI Comments
FinalInspectionSizeChartDimension
Reading FinalInspectionSizeChartDimension
Method:GET
URI Comments
fi_size_chart_dimensions[?[skip=m]
[[&]limit=n][&<filter_parameters>]..]
./final_inspection_size_charts/ Retrieves the specified
FinalInspectionSizeChartDimension object.
{final_inspection_size_chart_id}
./final_inspection_size_charts Retrieves the FinalInspectionSizeChartDimension
object which match the filter parameters.
[?[skip=m][[&]limit=n]
[&<filter_parameters>]..]
Updating FinalInspectionSizeChartDimension
Method:PUT
URI Comments
FinalInspectionShipment
Creating FinalInspectionShipment
Method:POST
URI Comments
Reading FinalInspectionShipment
Method:GET
URI Comments
Updating FinalInspectionShipment
Method:PUT
URI Comments
Deleting FinalInspectionShipment
Method:DELETE
URI Comments
• The attribute in bold blue color can be set only when the object is created.
FinalInspectionTemplate
Creating FinalInspectionTemplate
Method:POST
URI Comments
Reading FinalInspectionTemplate
Method:GET
URI Comments
[&<filter_parameters>]..]
Updating FinalInspectionTemplate
Method:PUT
URI Comments
Deleting FinalInspectionTemplate
Method:DELETE
URI Comments
Food
Creating Food
Method:POST
URI Relative Path Comments
Reading Food
Method:GET
URI Relative Path Comments
Updating Food
Method:PUT
URI Relative Path Comments
Deleting Food
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodAllergen
Creating FoodAllergen
Method:POST
URI Relative Path Comments
Reading FoodAllergen
Method:GET
URI Relative Path Comments
Updating FoodAllergen
Method:PUT
URI Relative Path Comments
Deleting FoodAllergen
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodBOMRevision
Reading FoodBOMRevision
Method:GET
URI Relative Path Comments
Attribute Summary
* All attributes are read/only, but this column provides context as to how these attribute values would be
managed with a full CRUD API.
FoodClaim
Creating FoodClaim
Method:POST
URI Relative Path Comments
Reading FoodClaim
Method:GET
URI Relative Path Comments
Updating FoodClaim
Method:PUT
URI Relative Path Comments
Deleting FoodClaim
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodIngredient
Creating FoodIngredient
Method:POST
URI Relative Path Comments
Reading FoodIngredient
Method:GET
URI Relative Path Comments
Updating FoodIngredient
Method:PUT
URI Relative Path Comments
Deleting FoodIngredient
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodLabelDataSheet
Creating FoodLabelDataSheet
Method:POST
URI Relative Path Comments
Reading FoodLabelDataSheet
Method:GET
URI Relative Path Comments
Updating FoodLabelDataSheet
Method:PUT
URI Relative Path Comments
Deleting FoodLabelDataSheet
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodLabelDataSheetRevision
Creating FoodLabelDataSheetRevision
Method:POST
URI Relative Path Comments
Reading FoodLabelDataSheetRevision
Method:GET
URI Relative Path Comments
Updating FoodLabelDataSheetRevision
Method:PUT
URI Relative Path Comments
Attribute Summary
FoodNutrient
Creating FoodNutrient
Method:POST
URI Relative Path Comments
Reading FoodNutrient
Method:GET
URI Relative Path Comments
Updating FoodNutrient
Method:PUT
URI Relative Path Comments
Deleting FoodNutrient
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodSample
Creating FoodSample
Method:POST
URI Relative Path Comments
Reading FoodSample
Method:GET
URI Relative Path Comments
Updating FoodSample
Method:PUT
URI Relative Path Comments
Deleting FoodSample
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodSource
Creating FoodSource
Method:POST
URI Relative Path Comments
Reading FoodSource
Method:GET
URI Relative Path Comments
Updating FoodSource
Method:PUT
URI Relative Path Comments
Deleting FoodSource
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodSKU
Creating FoodSKU
Method:POST
URI Relative Path Comments
Reading FoodSKU
Method:GET
URI Relative Path Comments
Updating FoodSKU
Method:PUT
URI Relative Path Comments
Deleting FoodSKU
Method:DELETE
URI Relative Path Comments
Attribute Summary
FoodSupplierItem
Creating FoodSupplierItem
Method:POST
URI Relative Path Comments
Reading FoodSupplierItem
Method:GET
URI Relative Path Comments
Updating FoodSupplierItem
Method:PUT
URI Relative Path Comments
Deleting FoodSupplierItem
Method:DELETE
URI Relative Path Comments
Attribute Summary
FormulatedMaterial
Creating FormulatedMaterial
Method:POST
URI Relative Path Comments
Reading FormulatedMaterial
Method:GET
URI Relative Path Comments
Updating FormulatedMaterial
Method:PUT
URI Relative Path Comments
Deleting FormulatedMaterial
Method:DELETE
URI Relative Path Comments
Attribute Summary
installed. Otherwise, it is
ignored.
links (_links) refmap R/O C8 Ref to URL Lookup map.
FPItem
Creating FPItem
Method:POST
URI Relative Path Comments
Reading FPItem
Method:GET
URI Relative Path Comments
Updating FPItem
Method:PUT
URI Relative Path Comments
Deleting FPItem
Method:DELETE
URI Relative Path Comments
Attribute Summary
Group
Creating Group
Method:POST
URI Comments
Reading Group
Method:GET
URI Comments
Updating Group
Method:PUT
URI Comments
Deleting Group
Method:DELETE
URI Comments
Holiday
Creating Holiday
Method:POST
URI Comments
Reading Holiday
Method:GET
URI Comments
Updating Holiday
Method:PUT
URI Comments
Deleting Holiday
Method:DELETE
URI Comments
HolidayCalendar
Creating HolidayCalendar
Method:POST
URI Comments
Reading HolidayCalendar
Method:GET
URI Comments
Updating HolidayCalendar
Method:PUT
URI Comments
Deleting HolidayCalendar
Method:DELETE
URI Comments
Image
Creating and uploading Image
Method:POST
URI Comments
Reading Image
Method:GET
URI Comments
URI Comments
Updating Image
Method:PUT
URI Comments
./images/{image_id} Updates the specified Image object. Mostly used to update the image tags.
NOTE: Centric UI or REST API does not allow you to upload custom thumbnails or low
resolution images for the full resolution image. The only attribute that can be changed by PUT
call are generated_by and the tags attribute.
Deleting Image
Method:DELETE
URI Comments
List of Objects containing Image (Centric Version 6.6 and higher datamodel)
AbstractContact PrintSpecification
CompetitiveStyle ProductColor
CustomSalesCollection ProductSample
Defect ProductSymbol
DocumentRevision QuestionRevision
FinalInspectionDefect RealizedProduct
InspectionTestSpecRevision SalesPromo
LibraryItem SelectSet
MarketingCollection Shape
MarketingLook SizeChartRevision
MarketingSegment SizeLabelSize
MCMaterial SRLineItem
MCMaterialColor StructureItem
MCProduct Style
MCProductColor SupplierItem
MTSection Test
OperationsReviewTemplateRevision TestSpecRevision
ORQuestion Theme
ImageDataSheet
Creating ImageDataSheet
Method:POST
URI Comments
Reading ImageDataSheet
Method:GET
URI Comments
[& <filter_parameters>]..]
./image_data_sheets/{image_data_sheet_id} Retrieves the specified ImageDataSheet
object.
./image_data_sheet_revisions/ Retrieves the ImageDataSheet objects
which match the <filter_parameters>.
{image_data_sheet_revision_id}
Updating ImageDataSheet
Method:PUT
URI Comments
Deleting ImageDataSheet
Method:DELETE
URI Comments
ImageDataSheetRevision
Creating ImageDataSheetRevision
Method:POST
URI Comments
Reading ImageDataSheetRevision
Method:GET
URI Comments
Updating ImageDataSheetRevision
Method:PUT
URI Comments
{image_data_sheet_revision_id}
./image_data_sheet_revisions/ Update the specified ImageDataSheetRevision object and
changes the revision state based on the actions enum list:
{image_data_sheet_revision_id} APPROVED, ABANDONED, FREEZE, REOPEN, REVIEW,
PURGEREVISION, PURGERESETREVISION
?action={action_name}
ImpactedItem
The ImpactedItem EndPoint is a read/only endpoint.
Reading ImpactedItem
Method:GET
URI Comments
Attribute Summary
• * - All attributes are read/only, but this column provides context as to how these attribute values will be managed with a full
CRUD API.
Increment
Creating Increment
Method:POST
URI Comments
Reading Increment
Method:GET
URI Comments
Updating Increment
Method:PUT
URI Comments
Deleting Increment
Method:DELETE
URI Comments
IncrementDimension
Creating IncrementDimension
Method:POST
URI Comments
Reading IncrementDimension
Method:GET
URI Comments
limit=n][& <filter_parameters>]..]
./increment_dimensions/ Retrieve the specified IncrementDimention
object.
{increment_dimension_id}
./increment_dimensions[?[skip=m][[&] Retrieves the IncrementDimension objects which
match the <filter_parameters>.
limit=n][& <filter_parameters>]..]
Updating IncrementDimension
Method:PUT
URI Comments
{increment_dimension_id}
Deleting IncrementDimension
Method:DELETE
URI Comments
{increment_dimension_id}
IncrementSize
Creating IncrementSize
Method: POST
URI Comments
Reading IncrementSize
Method: GET
URI Comments
Updating IncrementSize
Method: PUT
URI Comments
Deleting IncrementSize
Method: DELETE
URI Comments
• The attribute in bold brown color represents OOTB mandatory create only attribute.
IngredientItem
Creating IngredientItem
Method: POST
URI Comments
Reading IngredientItem
Method: GET
URI Comments
Updating IngredientItem
Method: PUT
URI Comments
Deleting IngredientItem
Method: DELETE
URI Comments
Attribute Summary
InspectionErrorType
Creating InspectionErrorType
Method: POST
URI Comments
Reading InspectionErrorType
Method: GET
URI Comments
Updating InspectionErrorType
Method: PUT
URI Comments
Deleting InspectionErrorType
Method: DELETE
URI Comments
InspectionTestSpec
Creating InspectionTestSpec
Method: POST
URI Comments
Reading InspectionTestSpec
Method: GET
URI Comments
Updating InspectionTestSpec
Method: PUT
URI Comments
Deleting InspectionTestSpec
Method: DELETE
URI Comments
InspectionTestSpecRevision
Creating InspectionTestSpecRevision
Method: POST
URI Comments
Reading InspectionTestSpecRevision
Method: GET
URI Comments
[& <filter_parameters>]..]
Updating InspectionTestSpecRevision
Method: PUT
URI Comments
Issue
Creating Issue
Method: POST
URI Comments
Reading Issue
Method: GET
URI Comments
Updating Issue
Method: PUT
URI Comments
Deleting Issue
Method: DELETE
URI Comments
Language
Creating Language
Method: POST
URI Comments
Reading Language
Method: GET
URI Comments
Updating Language
Method: PUT
URI Comments
Deleting Language
Method: DELETE
URI Comments
LibColorSpecification
Creating LibColorSpecification
Method: POST
URI Comments
Reading LibColorSpecification
Method: GET
URI Comments
{lib_color_specifications_id}
./lib_color_specifications Retrieves the LibColorSpecification objects which
match the <filter_parameters>
[?[skip=m][[&]limit=n][&
<filter_parameters>]..]
Updating LibColorSpecification
Method: PUT
URI Comments
Deleting LibColorSpecification
Method: DELETE
URI Comments
LibMaterial
Creating LibMaterial
Method: POST
URI Comments
Reading LibMaterial
Method: GET
URI Comments
Updating LibMaterial
Method: PUT
URI Comments
Deleting LibMaterial
Method: DELETE
URI Comments
LibPrintDesign
Reading LibPrintDesign
Method: GET
URI Relative Path Comments
* All attributes are read/only, but this column provides context as to how these attribute values would be
managed with a full CRUD API.
LibSizeLabel
Creating LibSizeLabel
Method: POST
URI Comments
Reading LibSizeLabel
Method: GET
URI Comments
[& <filter_parameters>]..]
Updating LibSizeLabel
Method: PUT
URI Comments
Deleting LibSizeLabel
Method: DELETE
URI Comments
Locale
Reading Locale
Method: GET
URI Comments
Localization
Reading Localizable Class name information
Method: GET
URI Comments
Example: ./localization/classes/ShippingContainer
LookupItem
Creating LookupItem
Method: POST
URI Comments
Reading LookupItem
Method: GET
URI Comments
Updating LookupItem
Method: PUT
URI Comments
Deleting LookupItem
Method: DELETE
URI Comments
LookupItem is one of the class that supports optional attribute. Here is a correct way to use
optional attribute on this class.
• Go to the LookupItem business Object and add a new custom attribute “testOptional”
with optional flag set to true.
Go to the System Configuration > Setup > Configuration > Type configuration > Lookup Item
Types tab and check the custom attribute flag to true as shown in screen.
• create LookupItem from REST API post method using SLIType1. The node will be
created with attribute "test_optional".
"node_name": "test0002",
"subtype": "centric://APPAREL/LookupItemSubtype/SLIType1",
"test_optional": "test"
For example if you try to create a LookupItem object with following payload:
"node_name": "test0003",
"subtype": "centric://APPAREL/LookupItemSubtype/SLIType2",
"test_optional": "test003"
LookupItemSubtype
Reading LookupItemSubtype
Method: GET
URI Comments
MarketingCollection
Creating MarketingCollection
Method: POST
URI Comments
Reading MarketingCollection
Method: GET
URI Comments
[& <filter_parameters>]..]
Updating MarketingCollection
Method: PUT
URI Comments
Deleting MarketingCollection
Method: DELETE
URI Comments
• The attribute in bold brown color represents out-of-the-box mandatory create only attribute.
MarketingLook
Creating MarketingLook
Method: POST
URI Comments
Reading MarketingLook
Method: GET
URI Comments
Updating MarketingLook
Method: PUT
URI Comments
Deleting MarketingLook
Method: DELETE
URI Comments
MarketingSegment
Reading MarketingSegment
Method: GET
URI Comments
Updating MarketingSegment
Method: PUT
URI Comments
Deleting MarketingSegment
Method: DELETE
URI Comments
MarketingTool
Creating MarketingTool
Method: POST
URI Comments
Reading MarketingTool
Method: GET
URI Comments
Updating MarketingTool
Method: PUT
URI Comments
Deleting MarketingTool
Method: DELETE
URI Comments
Material
Creating Material
Method: POST
URI Comments
Reading Material
Method: GET
URI Comments
[& <filter_parameters>]..]
./materials/{material_id} Retrieves the specified Material object
./materials[?[skip=m][[&]limit=n][& Retrieves the Material objects which match the
<filter_parameters>]..] <filter_parameters> included in the resource_path
Updating Material
Method: PUT
URI Comments
Deleting Material
Method: DELETE
URI Comments
modified.
node_name string R/W Display name for
the object.
bom_main_material_count integer R/O
cnt_order integer R/O
cnt_purchased_order integer R/O
composition string R/O
earliest_target_date time R/O
is_size_owner boolean R/O
managed boolean R/O
status enum R/O
status_time time R/O
sys_id string R/O Identifier to
correlate revised
entities.
total_order_volume double R/O
total_shipment_qty double R/O
bom_main_materials refset Material R/O
bom_materials refset Material R/O
blended_costs reflist ProductBlendedCost R/O
comments reflist Comment R/O
copied_from ref Material R/O
cost_scenarios reflist CostScenario R/O
data_sheets reflist MaterialDataSheet; R/O
SpecDataSheet;
TestRun; Routing;
MaterialBOM
documents reflist Document R/O
issues reflist Issue; R/O
OperationsIssue
modified_by ref User R/O
product_colors reflist ColorMaterial R/O
product_sizes refvector ProductSize R/O
realized_products reflist SKUMaterial R/O
cnt_documents integer R/O
active boolean R/W
code string R/W Material Code
construction string R/W
default_color_size_availabil boolean R/W
ity
description string R/W
diameter string R/W
dimension string R/W
fob_calc double R/W
fob_negotiated double R/W
finish string R/W
has_season_availability boolean R/W
is_stock_managed boolean R/W
length string R/W
main_materials string R/W
MaterialBOM
Creating MaterialBOM
Method: POST
URI Comments
Reading MaterialBOM
Method: GET
URI Comments
Updating MaterialBOM
Method: PUT
URI Comments
Deleting MaterialBOM
Method: DELETE
URI Comments
MaterialBOMRevision
Prior to the 7.0 release, use version V2 of these APIs. If the user is
using Centric 8 version 7.0 and above, then use version V3 of these
APIs.
Creating MaterialBOMRevision
Method: POST
URI Comments
Reading MaterialBOMRevision
Method: GET
URI Comments
Updating MaterialBOMRevision
Method: PUT
URI Comments
MaterialBOMSubtype
Creating MaterialBOMSubtype
Method: POST
URI Comments
Reading MaterialBOMSubtype
Method: GET
URI Comments
Updating MaterialBOMSubtype
Method: PUT
URI Comments
Deleting MaterialBOMSubtype
Method: DELETE
URI Comments
MaterialComposition
Creating MaterialComposition
Method: POST
URI Comments
Reading MaterialComposition
Method: GET
URI Comments
Updating MaterialComposition
Method: PUT
URI Comments
Deleting MaterialComposition
Method: DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser
MaterialDataSheet
Creating MaterialDataSheet
Method: POST
URI Comments
Reading MaterialDataSheet
Method: GET
URI Comments
Updating MaterialDataSheet
Method: PUT
URI Comments
Deleting MaterialDataSheet
Method: DELETE
URI Comments
MaterialDataSheetRevision
Creating MaterialDataSheetRevision
Method: POST
URI Comments
Reading MaterialDataSheetRevision
Method: GET
URI Comments
[&<filter_parameters>]..]
Updating MaterialDataSheetRevision
Method: PUT
URI Comments
MaterialPlanPlacement
Creating MaterialPlanPlacement
Method: POST
URI Comments
Reading MaterialPlanPlacement
Method: GET
URI Comments
Updating MaterialPlanPlacement
Method: PUT
URI Comments
Deleting MaterialPlanPlacement
Method: DELETE
URI Comments
MaterialPlanPlacementColorway
Reading MaterialPlanPlacementColorway
Method: GET
URI Comments
Updating MaterialPlanPlacementColorway
Method: PUT
URI Comments
MaterialSample
Creating MaterialSample
Method: POST
URI Comments
Reading MaterialSample
Method: GET
URI Comments
Updating MaterialSample
Method: PUT
URI Comments
Deleting MaterialSample
Method: DELETE
URI Comments
MaterialSecurityGroup
Creating MaterialSecurityGroup
Method: POST
URI Comments
Reading MaterialSecurityGroup
Method: GET
URI Comments
Updating MaterialSecurityGroup
Method: PUT
URI Comments
Deleting MaterialSecurityGroup
Method: DELETE
URI Comments
MaterialType
Creating MaterialType
Method: POST
URI Comments
Reading MaterialType
Method: GET
URI Comments
Updating MaterialType
Method: PUT
URI Comments
Deleting MaterialType
Method: DELETE
URI Comments
MCMaterial
Creating MCMaterial
Method: POST
URI Comments
Reading MCMaterial
Method: GET
URI Comments
Updating MCMaterial
Method: PUT
URI Comments
Deleting MCMaterial
Method: DELETE
URI Comments
• The attribute in bold brown color represents OOTB mandatory attribute for object creation.
MCMaterialColor
Reading MCMaterialColor
Method: GET
URI Comments
Updating MCMaterialColor
Method: PUT
URI Comments
MCProduct
Creating MCProduct
Method: POST
URI Comments
Reading MCProduct
Method: GET
URI Comments
Updating MCProduct
Method: PUT
URI Comments
Deleting MCProduct
Method: DELETE
URI Comments
• The attribute in bold brown color represents OOTB mandatory attribute for object creation.
MCProductColor
Creating MCProductColor
Method: POST
URI Comments
Reading MCProductColor
Method: GET
URI Comments
[&<filter_parameters>]..]
./mc_product_colors/{mc_product_color_id} Retrieves the specified MCProductColor
object.
./mc_product_colors[?[skip=m][[&]limit=n] Retrieves the MCProductColor objects
which match the <filter_parameters>
[& <filter_parameters>]..] included in the resource_path.
Updating MCProductColor
Method: PUT
URI Comments
Deleting MCProductColor
Method: DELETE
URI Comments
MCProductSKU
Creating MCProductSKU
Method: POST
URI Comments
Reading MCProductSKU
Method: GET
URI Comments
Updating MCProductSKU
Method: PUT
URI Comments
Deleting MCProductSKU
Method: DELETE
URI Comments
MerchCollection
Creating MerchCollection
Method: POST
URI Relative Path Comments
Reading MerchCollection
Method: GET
URI Relative Path Comments
Updating MerchCollection
Method: PUT
U URI Relative Path RI Comments
Deleting MerchCollection
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchFolder
Creating MerchFolder
Method: POST
URI Relative Path Comments
Reading MerchFolder
Method: GET
URI Relative Path Comments
Updating MerchFolder
Method: PUT
URI Relative Path Comments
Deleting MerchFolder
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchLevel
Creating MerchPlan and MerchLevel
Below APIs are deprecated from 7.4.
Method: POST
URI Comments
[& <filter_parameters>]..]
./merch_levels/{merch_level_id}/ List all MerchVersions of the MerchLevel with specified
id.
versions[?[skip=m][[&]limit=n]
[& <filter_parameters>]..]
Updating MerchLevel
Method: PUT
URI Comments
Deleting MerchLevel
Method: DELETE
URI Comments
MerchLevelSubtype
Creating MerchLevelSubtype
Method: POST
URI Comments
Reading MerchLevelSubtype
Method: GET
URI Comments
• “MerchFolderSubtype”
• “MerchPlanSubtype”
• “MerchCollectionSubtype”
• “MerchProductSubtype”
• “MerchOptionSubtype”
• “MerchSecondaryPlanSubtype”
Updating MerchLevelSubtype
Method: PUT
URI Comments
• “MerchFolderSubtype”
• “MerchPlanSubtype”
• “MerchCollectionSubtype”
• “MerchProductSubtype”
• “MerchOptionSubtype”
• “MerchSecondaryPlanSubtype”
Deleting MerchLevelSubtype
Method: DELETE
URI Comments
• “MerchFolderSubtype”
• “MerchPlanSubtype”
• “MerchCollectionSubtype”
• “MerchProductSubtype”
• “MerchOptionSubtype”
• “MerchSecondaryPlanSubtype”
Examples:
1. MerchFolderSubtype
2. MerchPlanSubtype
3. MerchOptionSubtype
4. MerchProductSubtype
5. MerchCollectionSubtype
6. MerchSecondaryPlanSubtype
MerchOption
Creating MerchOption
Method: POST
URI Relative Path Comments
Reading MerchOption
Method: GET
URI Relative Path Comments
Updating MerchOption
Method: PUT
URI Relative Path Comments
Deleting MerchOption
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchPlan
Creating MerchPlan
Method: POST
URI Relative Path Comments
Reading MerchPlan
Method: GET
URI Relative Path Comments
Updating MerchPlan
Method: PUT
URI Relative Path Comments
Deleting MerchPlan
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchProduct
Creating MerchProduct
Method: POST
URI Relative Path Comments
Reading MerchProduct
Method: GET
URI Relative Path Comments
Updating MerchProduct
Method: PUT
URI Relative Path Comments
Deleting MerchProduct
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchSeason
Creating MerchSeason
Method: POST
URI Relative Path Comments
Reading MerchSeason
Method: GET
URI Relative Path Comments
Updating MerchSeason
Method: PUT
URI Relative Path Comments
Deleting MerchSeason
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchSecondary
Reading MerchSecondary
Method: GET
URI Relative Path Comments
Updating MerchSecondary
Method: PUT
URI Relative Path Comments
Deleting MerchSecondary
Method: DELETE
URI Relative Path Comments
Attribute Summary
MerchVersion
Creating MerchVersion
MerchVersion is an abstract class that cannot be instantiated. When the user calls
GET/PUT/DELETE endpoint of this API they are performing operations against the version of
the six classes that inherit from MerchVersion class such as MerchCollectionVersion,
MerchFolderVersion, MerchOptionVersion, MerchProductVersion, MerchSeason, and
MerchSecondaryVersion.
Method: POST
URI Comments
Reading MerchVersion
Method: GET
URI Comments
Updating MerchVersion
Method: PUT
URI Comments
Deleting MerchVersion
Method: DELETE
URI Comments
NutrientItem
Creating NutrientItem
Method: POST
URI Relative Path Comments
Reading NutrientItem
Method: GET
URI Relative Path Comments
Updating NutrientItem
Method: PUT
URI Relative Path Comments
Deleting NutrientItem
Method: DELETE
URI Relative Path Comments
Attribute Summary
OnlineCrew
Creating OnlineCrew
Method: POST
URI Comments
Reading OnlineCrew
Method: GET
URI Comments
Updating OnlineCrew
Method: PUT
URI Comments
See also:
Order
Creating Order
Method: POST
URI Comments
Reading Order
Method: GET
URI Comments
Updating Order
Method: PUT
URI Comments
Deleting Order
Method: DELETE
URI Comments
OrderTableSpanner
Creating OrderTableSpanner
Method: POST
URI Comments
Reading OrderTableSpanner
Method: GET
URI Comments
Updating OrderTableSpanner
Method: PUT
URI Comments
Deleting OrderTableSpanner
Method: DELETE
URI Comments
ORQuestion
Reading ORQuestion
Method: GET
URI Comments
ORQuestionSection
Reading ORQuestionSection
Method: GET
URI Comments
ORQuestionSubsection
Reading ORQuestionSection
Method: GET
URI Comments
ORSubQuestion
Reading ORSubQuestion
Method: GET
URI Comments
PackList
Creating PackList
Method: POST
URI Comments
Reading PackList
Method: GET
URI Comments
Updating PackList
Method: PUT
URI Comments
Deleting PackList
Method: DELETE
URI Comments
Attribute Summary
PackListCarton
Reading PackListCarton
Method: GET
URI Comments
Updating PackListCarton
Method: PUT
URI Comments
PackListItem
Creating PackListItem
Method: POST
URI Comments
Reading PackListItem
Method: GET
URI Comments
Updating PackListItem
Method: PUT
URI Comments
Deleting PackListItem
Method: DELETE
URI Comments
Attribute Summary
Creating PartMaterial
Method: POST
URI Comments
Reading PartMaterial
Method: GET
URI Comments
Updating PartMaterial
Method: PUT
URI Comments
Deleting PartMaterial
Method: DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
PartMaterial
Prior to the 7.0 release, use version V2 of these APIs. If the user is
using Centric 8 version 7.0 and above, then use version V3 of these
APIs.
Creating PartMaterial
Method: POST
URI Comments
/items/part_materials
./apparel_bom_revisions/{appare Create a new PartMaterial object as a child of
l_bom_revision_id} ApparelBOMRevision.
/items/special_part_materials?m
aterial_type={material_type}&ma
terial_name={material_name}
./material_bom_revisions/{mater Create a new PartMaterial object as a child of
ial_bom_revision_id} MaterialBOMRevision.
/items/special_part_materials?m
aterial_type={material_type}&ma
terial_name={material_name}
Reading PartMaterial
Method: GET
URI Comments
[&<filter_parameters>]..]
./apparel_bom_revisions/{apparel_bom_rev Retrieve the PartMaterial objects referenced
ision_id}/items/part_materials[?[skip=m] by ApparelBOMRevision which match filter
[[&]limit=n] parameters specified as query string values.
[&<filter_parameters>]..]
Updating PartMaterial
Method: PUT
URI Comments
Deleting PartMaterial
Method: DELETE
URI Comments
PartMaterialColor
Reading PartMaterialColor
Method: GET
URI Comments
Updating PartMaterialColor
Method: PUT
URI Comments
PartMaterialQuantity
Reading PartMaterialQuantity
Method: GET
URI Comments
[[&]limit=n][&<filter_parameters>]..]
./part_material_quantities/ Retrieves the specified PartMaterialQuantity object.
{part_material_size_id}
./part_material_quantities[?[skip=m] Retrieves the PartMaterialQuantity objects which
match the <filter_parameters> included in the
[[&]limit=n][&<filter_parameters>]..] resource_path.
Creating PartMaterialQuantity
Method: POST
URI Comments
Deleting PartMaterialQuantity
Method: DELETE
URI Comments
PartMaterialSize
Reading PartMaterialSize
Method: GET
URI Comments
PartMaterialSizeSpec
Reading PartMaterialSizeSpec
Method: GET
URI Comments
[[&]limit=n][[&<filter_parameters>].
.]
./part_material_size_specs/ Retrieves the specified PartMaterialSizeSpec
objects.
{part_material_size_spec_id}
./part_material_size_specs[?[skip=m] Retrieves the PartMaterialSizeSpec objects which
match the filter parameters.
[[&]limit=n][[&<filter_parameters>].
.]
Creating PartMaterialSizeSpec
Method: POST
URI Comments
Deleting PartMaterialSizeSpec
Method: DELETE
URI Comments
PartMaterialVariation
Creating PartMaterialVariation
Method: POST
URI Comments
Reading PartMaterialVariation
Method: GET
URI Comments
Updating PartMaterialVariation
Method: PUT
URI Comments
Deleting PartMaterialVariation
Method: DELETE
URI Comments
The PartMaterial.actual attribute must be set to reference the Style or Material associated with this
PartMaterial in order to create a PartMaterialVariation.
PBCLineItem
Creating PBCLineItem
Method: POST
URI Comments
Reading PBCLineItem
Method: GET
URI Comments
Updating PBCLineItem
Method: PUT
URI Comments
Deleting PBCLineItem
Method: DELETE
URI Comments
Placement
Creating Placement
Method: POST
URI Comments
Reading Placement
Method: GET
URI Comments
Updating Placement
Method: PUT
URI Comments
Deleting Placement
Method: DELETE
URI Comments
Price
Reading Price
Method: GET
URI Comments
Updating Price
Method: PUT
URI Comments
Deleting Price
Method: DELETE
URI Comments
PriceList
Creating PriceList
Method: POST
URI Comments
Reading PriceList
Method: GET
URI Comments
Updating PriceList
Method: PUT
URI Comments
Deleting PriceList
Method: DELETE
URI Comments
PriceListRevision
Creating PriceListRevision
Method: POST
URI Comments
Reading PriceListRevision
Method: GET
URI Comments
Updating PriceListRevision
Method: PUT
URI Comments
PrintDesign
Creating PrintDesign
Method: POST
URI Comments
Reading PrintDesign
Method: GET
URI Comments
Updating PrintDesign
Method: PUT
URI Comments
Deleting PrintDesign
Method: DELETE
URI Comments
PrintDesignColor
Creating PrintDesignColor
Method: POST
URI Comments
Reading PrintDesignColor
Method: GET
URI Comments
Updating PrintDesignColor
Method: PUT
URI Comments
Deleting PrintDesignColor
Method: DELETE
URI Comments
PrintDesignRevision
Creating PrintDesignRevision
Method: POST
URI Comments
Reading PrintDesignRevision
Method: GET
URI Comments
Updating PrintDesignRevision
Method: PUT
URI Comments
{print_design_revision_id}
./print_design_revisions/ Updates the specified PrintDesignRevison object and
change the revision state based on the actions enum
{print_design_revision_id}? list: [APPROVED, ABANDONED, FREEZE, REOPEN,
REVIEW, PURGEREVISION, PURGERESETREVISION]
action={action_name}
PrintPosition
Creating PrintPosition
Method: POST
URI Comments
Reading PrintPosition
Method: GET
URI Comments
[[&]limit=n][&<filter_parameters>]..]
./print_positions/{print_position_id} Retrieves the specified PrintPosition
object.
./print_positions[?[skip=m][[&]limit=n][&<filte Retrieves the PrintPosition objects
r_parameters>]..] which match the <filter_parameters>.
Updating PrintPosition
Method: PUT
URI Comments
Deleting PrintPosition
Method: DELETE
URI Comments
PrintPositionColor
Reading PrintPositionColor
Method: GET
URI Comments
ProductAlternative
Creating ProductAlternative
Method: POST
URI Comments
Reading ProductAlternative
Method: GET
URI Comments
Updating ProductAlternative
Method: PUT
URI Comments
Deleting ProductAlternative
Method: DELETE
URI Comments
ProductAlternativeSpecification
Creating ProductAlternativeSpecification
Method: POST
URI Comments
Reading ProductAlternativeSpecification
Method: GET
URI Comments
Updating ProductAlternativeSpecification
Method: PUT
URI Comments
Deleting ProductAlternativeSpecification
Method: DELETE
URI Comments
ProductBlendedCost
Creating ProductBlendedCost
Method: POST
URI Comments
Reading ProductBlendedCost
Method: GET
URI Comments
Updating ProductBlendedCost
Method: PUT
URI Comments
Deleting ProductBlendedCost
Method: DELETE
URI Comments
ProductColorShipment
Reading ProductColorShipment
Method: GET
URI Comments
Updating ProductColorShipment
Method: PUT
URI Comments
ProductGroup
Creating ProductGroup
Method: POST
URI Comments
Reading ProductGroup
Method: GET
URI Comments
Updating ProductGroup
Method: PUT
URI Comments
Deleting ProductGroup
Method: DELETE
URI Comments
ProductGroupDimension
Creating ProductGroupDimension
Method: POST
URI Comments
Reading ProductGroupDimension
Method: GET
URI Comments
Updating ProductGroupDimension
Method: PUT
URI Comments
Deleting ProductGroupDimension
Method: DELETE
URI Comments
ProductSalesRegion
Creating ProductSalesRegion
Method: POST
URI Comments
Reading ProductSalesRegion
Method: GET
URI Comments
Updating ProductSalesRegion
Method: PUT
URI Comments
Deleting ProductSalesRegion
Method: DELETE
URI Comments
ProductSalesRegionSpec
Reading ProductSalesRegionSpec
Method: GET
URI Comments
ProductShipment
Creating ProductShipment
Method: POST
URI Comments
Reading ProductShipment
Method: GET
URI Comments
shipment_terms_product_shipments[?[
skip=m][[&]limit=n][&<filter_parame
ters>]..]
[&<filter_parameters>]..]
Updating ProductShipment
Method: PUT
URI Comments
ProductSize
Creating ProductSize
Method: POST
URI Comments
Reading ProductSize
Method: GET
URI Comments
Updating ProductSize
Method: PUT
URI Comments
Deleting ProductSize
Method: DELETE
URI Comments
ProductSource
Creating ProductSource
Method: POST
URI Comments
Reading ProductSource
Method: GET
URI Comments
Updating ProductSource
Method: PUT
URI Comments
Deleting ProductSource
Method: DELETE
URI Comments
ProductPresentation
Reading ProductPresentation
Method: GET
URI Relative Path Comments
ProductPresentationLayout
Reading ProductPresentationLayout
Method: GET
URI Relative Path Comments
ProductPresentationSet
Reading ProductPresentationSet
Method: GET
URI Relative Path Comments
• * - All attributes are read/only, but this column provides context as to how these attribute values would be
managed with a full CRUD API.
ProductSymbol
Creating ProductSymbol
Method: POST
URI Comments
Reading ProductSymbol
Method: GET
URI Comments
Updating ProductSymbol
Method: PUT
URI Comments
Deleting ProductSymbol
Method: DELETE
URI Comments
Project
Creating Project
Method:POST
URI Relative Path Comments
Reading Project
Method:GET
URI Relative Path Comments
Updating Project
Method:PUT
URI Relative Path Comments
Deleting Project
Method:DELETE
URI Relative Path Comments
Attribute Summary
ProjectLineItem
Creating ProjectLineItem
Method:POST
URI Relative Path Comments
Reading ProjectLineItem
Method:GET
URI Relative Path Comments
Updating ProjectLineItem
Method:PUT
URI Relative Path Comments
Deleting ProjectLineItem
Method:DELETE
URI Relative Path Comments
Attribute Summary
PropertiesDataSheet
Creating PropertiesDataSheet
Method: POST
URI Comments
Reading PropertiesDataSheet
Method: GET
URI Comments
Updating PropertiesDataSheet
Method: PUT
URI Comments
Deleting PropertiesDataSheet
Method: DELETE
URI Comments
PropertiesDataSheetRevision
Creating PropertiesDataSheetRevision
Method: POST
URI Comments
Reading PropertiesDataSheetRevision
Method: GET
URI Comments
Updating PropertiesDataSheetRevision
Method: PUT
URI Comments
ProvinceState
Creating ProvinceState
Method: POST
URI Comments
Reading ProvinceState
Method: GET
URI Comments
Updating ProvinceState
Method: PUT
URI Comments
Deleting ProvinceState
Method: DELETE
URI Comments
PurchaseOrder
Creating PurchaseOrder
Method: POST
URI Comments
Reading PurchaseOrder
Method: GET
URI Comments
Updating PurchaseOrder
Method: PUT
URI Comments
Deleting PurchaseOrder
Method: DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
• The attribute in bold brown color represents OOTB mandatory attribute.
PurchaseOrderColor
Reading PurchaseOrderColor
Method: GET
URI Comments
Updating PurchaseOrderColor
Method: PUT
URI Comments
PurchaseOrderProduct
Reading PurchaseOrderProduct
Method: GET
URI Comments
Updating PurchaseOrderProduct
Method: PUT
URI Comments
{purchase_order_product_id}
Question
Creating Question
Method: POST
URI Comments
Reading Question
Method: GET
URI Comments
[&<filter_parameters>]..]
./questions/{question_id} Retrieves the specified Question object.
[&<filter_parameters>]..]
Updating Question
Method: PUT
URI Comments
Deleting Question
Method: DELETE
URI Comments
QuestionRevision
Creating QuestionRevision
Method: POST
URI Comments
Reading QuestionRevision
Method: GET
URI Comments
[&<filter_parameters>]..]
Updating QuestionRevision
Method: PUT
URI Comments
QuestionSubsection
Creating QuestionSubsection
Method: POST
URI Comments
Reading QuestionSubsection
Method: GET
URI Comments
Updating QuestionSubsection
Method: PUT
URI Comments
Deleting QuestionSubsection
Method: DELETE
URI Comments
RecipeDataSheetRevision
Reading RecipeDataSheetRevision
Method: GET
URI Comments
Attribute Summary
installed. Otherwise, it is
ignored.
is_current boolean R/O
is_managed_by_ec boolean R/O This attribute requires module:
EngineeringChange to be
installed. Otherwise, it is
ignored.
pdf url R/O
pending_2_time time R/O
pending_time time R/O
proofing_time time R/O
release_version string R/O
revert_time time R/O
review_time time R/O
state enum R/O
state_change_time time R/O
total_amount double R/O This attribute requires module:
FormulatedProduct to be
installed. Otherwise, it is
ignored.
usable boolean R/O
approver ref User R/O
ReviewColorway
Creating ReviewColorway
Method: POST
URI Comments
Reading ReviewColorway
Method: GET
URI Comments
review_colorways[?[skip=m][[&]l
imit=n][&...]]
./review_colorways/{review_colo Retrieves the specified ReviewColorway object.
rway_id}
[&<filter_parameters>]..]
Updating ReviewColorway
Method: PUT
URI Comments
{review_colorway_id}
Deleting ReviewColorway
Method: DELETE
URI Comments
{review_colorway_id}
ReviewColorwayRevision
Creating ReviewColorwayRevision
Method: POST
URI Comments
Reading ReviewColorwayRevision
Method: GET
URI Comments
[[&]limit=n][[&<filter_paramet
ers>]..]
Updating ReviewColorwayRevision
Method: PUT
URI Comments
ReviewSKU
Creating ReviewSKU
Method: POST
URI Comments
Reading ReviewSKU
Method: GET
URI Comments
Updating ReviewSKU
Method: PUT
URI Comments
Deleting ReviewSKU
Method: DELETE
URI Comments
ReviewSKURevision
Creating ReviewSKURevision
Method: POST
URI Comments
Reading ReviewSKURevision
Method: GET
URI Comments
Updating ReviewSKURevision
Method: PUT
URI Comments
{review_sku_revision_id}
./review_sku_revisions/ Updates the specified ReviewSKURevision object and
change the revision state as per action parameter. The
{review_sku_revision_id} allowed values are: APPROVED, ABANDONED,
FREEZE, REOPEN, REVIEW, PURGEREVISION,
PURGERESETREVISION
?action={action_name}
ReviewStyle
Creating ReviewStyle
Method: POST
URI Comments
Reading ReviewStyle
Method: GET
URI Comments
[&<filter_parameters>]..]
./review_skus[?[skip=m][[&]limi Retrieves the ReviewStyle objects which match the
t=n] <filter_parameters>.
[&<filter_parameters>]..]
Updating ReviewStyle
Method: PUT
URI Comments
Deleting ReviewStyle
Method: DELETE
URI Comments
ReviewStyleRevision
Creating ReviewStyleRevision
Method: POST
URI Comments
Reading ReviewStyleRevision
Method: GET
URI Comments
[[&<filter_parameters>]..]
Updating ReviewStyleRevision
Method: PUT
URI Comments
Role
Creating Role
Method: POST
URI Comments
Reading Role
Method: GET
URI Comments
Updating Role
Method: PUT
URI Comments
Deleting Role
Method: DELETE
URI Comments
Routing
Creating Routing
Method: POST
URI Comments
Reading Routing
Method: GET
URI Comments
Updating Routing
Method: PUT
URI Comments
Deleting Routing
Method: DELETE
URI Comments
RoutingGroup
Creating RoutingGroup
Method: POST
URI Comments
Reading RoutingGroup
Method: GET
URI Comments
Updating RoutingGroup
Method: PUT
URI Comments
Deleting RoutingGroup
Method: DELETE
URI Comments
RoutingItem
Creating RoutingItem
Method: POST
URI Comments
Reading RoutingItem
Method: GET
URI Comments
Updating RoutingItem
Method: PUT
URI Comments
Deleting RoutingItem
Method: DELETE
URI Comments
RoutingRevision
Creating RoutingRevision
Method: POST
URI Comments
Reading RoutingRevision
Method: GET
URI Comments
Updating RoutingRevision
Method: PUT
URI Comments
SalesDivision
Creating SalesDivision
Method: POST
URI Comments
Reading SalesDivision
Method: GET
URI Comments
Updating SalesDivision
Method: PUT
URI Comments
Deleting SalesDivision
Method: DELETE
URI Comments
SalesMarket
Creating SalesMarket
Method: POST
URI Comments
Reading SalesMarket
Method: GET
URI Comments
Updating SalesMarket
Method: PUT
URI Comments
Deleting SalesMarket
Method: DELETE
URI Comments
SalesOrder
Creating SalesOrder
Method: POST
URI Comments
Reading SalesOrder
Method: GET
URI Comments
Updating SalesOrder
Method: PUT
URI Comments
Deleting SalesOrder
Method: DELETE
URI Comments
Otherwise, it is ignored.
misc_cost Double double R/W
notes String string R/W
order_date String time R/W
payment_term String string R/W
sku_based_order** Boolean boolean C/O
sales_order_note String string R/W
so_purchased_order String ref R/O
special_instructions String string R/W
start_ship String time R/W
suggested_buyer String string R/W
suggested_buyer_bill_to String string R/W
suggested_buyer_ship_to String string R/W
suggested_buyer_vat_code String string R/W
suggested_payment_term String string R/W
target_date String time R/W
tax Double double R/W
buyer String ref R/W
market** String ref C/O
seller String ref R/W
links (_links) Map refmap R/O C8 Ref to URL Lookup map.
SalesOrderLineItem
Creating SalesOrderLineItem
Method: POST
URI Comments
Reading SalesOrderLineItem
Method: GET
URI Comments
Updating SalesOrderLineItem
Method: PUT
URI Comments
Deleting SalesOrderLineItem
Method: DELETE
URI Comments
• The attribute in bold blue color requires the module CollectionBook to be installed, otherwise the attribute is ignored.
SalesOrderLineItemSKU
Creating SalesOrderLineItemSKU
Method: POST
URI Comments
Reading SalesOrderLineItemSKU
Method: GET
URI Comments
Updating SalesOrderLineItemSKU
Method: PUT
URI Comments
Deleting SalesOrderLineItemSKU
Method: DELETE
URI Comments
Sample
Creating Sample
Method: POST
URI Comments
Reading Sample
Method: GET
URI Comments
[&<filter_parameters>..]
Updating Sample
Method: PUT
URI Comments
Deleting Sample
Method: DELETE
URI Comments
SamplingPlan
Creating SamplingPlan
Method: POST
URI Comments
Reading SamplingPlan
Method: GET
URI Comments
Updating SamplingPlan
Method: PUT
URI Comments
Deleting SamplingPlan
Method: DELETE
URI Comments
• CNL: Centric Node Locator, an unique id of the object node, can be used in Node Browser.
• The attribute in bold brown color represents OOTB mandatory attribute.
SamplingPlanItem
Creating SamplingPlanItem
Method: POST
URI Comments
Reading SamplingPlanItem
Method: GET
URI Comments
Updating SamplingPlanItem
Method: PUT
URI Comments
Deleting SamplingPlanItem
Method: DELETE
URI Comments
Season
Creating Season
Method: POST
URI Comments
Reading Season
Method: GET
URI Comments
Updating Season
Method: PUT
URI Comments
Deleting Season
Method: DELETE
URI Comments
SelectSet
Creating SelectSet
Method: POST
URI Comments
Reading SelectSet
Method: GET
URI Comments
[[&]limit=n][&
<filter_parameters>]..]
Updating SelectSet
Method: PUT
URI Comments
Deleting SelectSet
Method: DELETE
URI Comments
SelectSetItem
Creating SelectSetItem
Method: POST
URI Comments
Reading SelectSetItem
Method: GET
URI Comments
Updating SelectSetItem
Method: PUT
URI Comments
Deleting SelectSetItem
Method: DELETE
URI Comments
SelectSetSubtype
Reading SelectSetSubtype
Method: GET
URI Comments
[& <filter_parameters>]..]
Shape
Creating Shape
Method: POST
URI Comments
Reading Shape
Method: GET
URI Comments
Updating Shape
Method: PUT
URI Comments
Deleting Shape
Method: DELETE
URI Comments
ShapeMaster
Creating ShapeMaster
Method: POST
URI Comments
security_group_shapes
Reading ShapeMaster
Method: GET
URI Comments
[?[skip=m]
[[&]limit=n][&<filter_parameters>]..]
Updating ShapeMaster
Method: PUT
URI Comments
ShapeSecurityGroup
Creating ShapeSecurityGroup
Method: POST
URI Comments
Reading ShapeSecurityGroup
Method: GET
URI Comments
Updating ShapeSecurityGroup
Method: PUT
URI Comments
Deleting ShapeSecurityGroup
Method: DELETE
URI Comments
SharedCrew
Reading SharedCrew
Method: GET
URI Comments
Updating SharedCrew
Method: PUT
URI Comments
SharedTeam
Creating SharedTeam
Method: POST
URI Comments
Reading SharedTeam
Method: GET
URI Comments
Updating SharedTeam
Method: PUT
URI Comments
Deleting SharedTeam
Method: DELETE
URI Comments
Shipment
Creating Shipment
Method: POST
URI Comments
Reading Shipment
Method: GET
URI Comments
Updating Shipment
Method: PUT
URI Comments
Deleting Shipment
Method: DELETE
URI Comments
ShipmentQCIssue
Creating ShipmentQCIssue
Method: POST
URI Comments
Reading ShipmentQCIssue
Method: GET
URI Comments
Updating ShipmentQCIssue
Method: PUT
URI Comments
Deleting ShipmentQCIssue
Method: DELETE
URI Comments
ShipmentTerm
Creating ShipmentTerm
Method: POST
URI Comments
owned_shipment_terms
./shipment_terms Creates a new ShipmentTerm object
Reading ShipmentTerm
Method: GET
URI Comments
owned_shipment_terms[?[skip=m][[&]li
mit=n]
[& <filter_parameters>]..]
./shipment_terms/{shipment_term_id} Retrieves the specified ShipmentTerm object.
./shipment_terms[?[skip=m][[&]limit= Retrieves the ShipmentTerm objects which match
n] filter parameters.
[& <filter_parameters>]..]
Updating ShipmentTerm
Method: PUT
URI Comments
Deleting ShipmentTerm
Method: DELETE
URI Comments
ShippingContainer
Creating ShippingContainer
Method: POST
URI Comments
Reading ShippingContainer
Method: GET
URI Comments
Updating ShippingContainer
Method: PUT
URI Comments
Deleting ShippingContainer
Method: DELETE
URI Comments
ShippingPort
Creating ShippingPort
Method: POST
URI Comments
Reading ShippingPort
Method: GET
URI Comments
Updating ShippingPort
Method: PUT
URI Comments
Deleting ShippingPort
Method: DELETE
URI Comments
ShippingRate
Creating ShippingRate
Method: POST
URI Comments
Reading ShippingRate
Method: GET
URI Comments
Updating ShippingRate
Method: PUT
URI Comments
Deleting ShippingRate
Method: DELETE
URI Comments
SizeChart
Creating SizeChart
Method: POST
URI Comments
Reading SizeChart
Method: GET
URI Comments
Updating SizeChart
Method: PUT
URI Comments
Deleting SizeChart
Method: DELETE
URI Comments
SizeChartDimension
Creating SizeChartDimension
Method: POST
URI Comments
Reading SizeChartDimension
Method: GET
URI Comments
[& <filter_parameters>]..]
Updating SizeChartDimension
Method: PUT
URI Comments
{size_chart_dimension_id}
Deleting SizeChartDimension
Method: DELETE
URI Comments
{size_chart_dimension_id}
SizeChartReview
Creating SizeChartReview
Method: POST
URI Comments
{size_chart_revision_id}/
size_chart_reviews
Reading SizeChartReview
Method: GET
URI Comments
[&<filter_parameters>]..]
Updating SizeChartReview
Method: PUT
URI Comments
Deleting SizeChartReview
Method: DELETE
URI Comments
SizeChartReviewDimension
Reading SizeChartReviewDimension
Method: GET
URI Comments
SizeChartReviewRevision
Reading SizeChartReviewRevision
Method: GET
URI Comments
SizeChartReviewSize
Reading SizeChartReviewSize
Method: GET
URI Comments
SizeChartRevision
Creating SizeChartRevision
Method: POST
URI Comments
Reading SizeChartRevision
Method: GET
URI Comments
Updating SizeChartRevision
Method: PUT
URI Comments
SizeChartSubtype
Creating SizeChartSubtype
Method: POST
URI Comments
Reading SizeChartSubtype
Method: GET
URI Comments
Updating SizeChartSubtype
Method: PUT
URI Comments
Deleting SizeChartSubtype
Method: DELETE
URI Comments
• The attribute in bold brown color represents OOTB mandatory create only attribute.
SizeCurve
Creating SizeCurve
Method: POST
URI Comments
Reading SizeCurve
Method: GET
URI Comments
Updating SizeCurve
Method: PUT
URI Comments
Deleting SizeCurve
Method: DELETE
URI Comments
SizeLabel
Creating SizeLabel
Method: POST
URI Comments
Reading SizeLabel
Method: GET
URI Comments
Updating SizeLabel
Method: PUT
URI Comments
Deleting SizeLabel
Method: DELETE
URI Comments
SizeLabelSize
Creating SizeLabelSize
Method: POST
URI Comments
Reading SizeLabelSize
Method: GET
URI Comments
Updating SizeLabelSize
Method: PUT
URI Comments
Deleting SizeLabelSize
Method: DELETE
URI Comments
SizeMap
Creating SizeMap
Method: POST
URI Comments
Reading SizeMap
Method: GET
URI Comments
Updating SizeMap
Method: PUT
URI Comments
Deleting SizeMap
Method: DELETE
URI Comments
SizeMapSize
Creating SizeMapSize
Method: POST
URI Comments
Reading SizeMapSize
Method: GET
URI Comments
Updating SizeMapSize
Method: PUT
URI Comments
Deleting SizeMapSize
Method: DELETE
URI Comments
SizeRange
Creating SizeRange
Method: POST
URI Comments
Reading SizeRange
Method: GET
URI Comments
Updating SizeRange
Method: PUT
URI Comments
Deleting SizeRange
Method: DELETE
URI Comments
SizeSpec
Creating SizeSpec
Method: POST
URI Comments
Reading SizeSpec
Method: GET
URI Comments
Updating SizeSpec
Method: PUT
URI Comments
Deleting SizeSpec
Method: DELETE
URI Comments
SKU
Creating SKU
Method: POST
URI Comments
Reading SKU
Method: GET
URI Comments
[&<filter_parameters>]..]
Updating SKU
Method: PUT
URI Comments
Deleting SKU
Method: DELETE
URI Comments
Data Read
Attribute Ref. Type Description
Type Only
id CNL R/O Centric Node Locator.
_modified_at time R/O Last time this object
was modified.
node_name string R/W Display name for the
object.
carry_over boolean R/O
customer_earliest_target_date time R/O
customer_total_order_qty double R/O
earliest_target_date time R/O
gtin string R/O
gtin_checksum string R/O
gtin_manufacturer_code string R/O
gtin_product_code string R/O
master_carton_i_2of_5 string R/O
master_carton_i_2of_5_checksum string R/O
master_carton_i_2of_5_leading_digit string R/O
master_carton_i_2of_5_pack_code string R/O
pallet_i_2of_5 string R/O
pallet_i_2of_5_checksum string R/O
pallet_i_2of_5_leading_digit string R/O
pallet_i_2of_5_pack_code string R/O
total_order_qty double R/O
category_1 ref Category1 R/O
category_2 ref Category2 R/O
collection ref Collection R/O
comments reflist Comment R/O
documents reflist Document R/O
modified_by ref User R/O
parent_season ref Season R/O
style ref Style R/O
cnt_documents integer R/O
active boolean R/W This attribute requires
module: Calendar to be
installed. Otherwise, it is
ignored.
sku_status enum R/W
realized_color ref Colorway R/W
realized_size ref ProductSize R/W
sku_quote ref SupplierIte R/W
m
images refmap Image R/W
referenced_documents reflist Document R/W
links (_links) refmap R/O C8 Ref to URL Lookup
map.
SKUMaterial
Creating SKUMaterial
Method: POST
URI Comments
Reading SKUMaterial
Method: GET
URI Comments
Updating SKUMaterial
Method: PUT
URI Comments
Deleting SKUMaterial
Method: DELETE
URI Comments
SKUMaterialSource
Reading SKUMaterialSource
Method: GET
URI Comments
Updating SKUMaterialSource
Method: PUT
URI Comments
SKUSource
Reading SKUSource
Method: GET
URI Comments
Updating SKUSource
Method: PUT
URI Comments
SMProduct
Reading SMProduct
Method:GET
URI Comments
Updating SMProduct
Method:PUT
URI Comments
Deleting SMProduct
Method:DELETE
URI Comments
be installed. Otherwise, it is
ignored.
This attribute requires
color_retail_price module: CollectionBook to
_min float R/O
be installed. Otherwise, it is
ignored.
This attribute requires
color_retail_price module: CollectionBook to
_range string R/O
be installed. Otherwise, it is
ignored.
This attribute requires
color_wholesale_pr module: CollectionBook to
ice_max float R/O
be installed. Otherwise, it is
ignored.
This attribute requires
color_wholesale_pr module: CollectionBook to
ice_min float R/O
be installed. Otherwise, it is
ignored.
This attribute requires
color_wholesale_pr module: CollectionBook to
ice_range string R/O
be installed. Otherwise, it is
ignored.
This attribute requires
has_promo module: CollectionBook to
boolean R/O
be installed. Otherwise, it is
ignored.
This attribute requires
sales_volume module: CollectionBook to
integer R/O
be installed. Otherwise, it is
ignored.
This attribute requires
module: CollectionBook to
modified_by ref User R/O
be installed. Otherwise, it is
ignored.
This attribute requires
model_code module: CollectionBook to
string R/W
be installed. Otherwise, it is
ignored.
This attribute requires
retail_price module: CollectionBook to
double R/W
be installed. Otherwise, it is
ignored.
This attribute requires
state module: CollectionBook to
enum R/W
be installed. Otherwise, it is
ignored.
This attribute requires
module: CollectionBook to
wholesale_price double R/W
be installed. Otherwise, it is
ignored.
This attribute requires
is_primary module: CollectionBook to
boolean R/W
be installed. Otherwise, it is
ignored.
SMProductColor
Reading SMProductColor
Method:GET
URI Comments
Updating SMProductColor
Method:PUT
URI Comments
Deleting SMProductColor
Method:DELETE
URI Comments
SMProductSKU
Reading SMProductSKU
Method:GET
URI Comments
[&<filter_parameters>]..]
Updating SMProductSKU
Method:PUT
URI Comments
SourcingCapability
Creating SourcingCapability
Method: POST
URI Comments
Reading SourcingCapability
Method: GET
URI Comments
Updating SourcingCapability
Method: PUT
URI Comments
Deleting SourcingCapability
Method: DELETE
URI Comments
SpecDataSheetSubtype
Creating SpecDataSheetSubtype
Method: POST
URI Comments
Reading SpecDataSheetSubtype
Method: GET
URI Comments
Updating SpecDataSheetSubtype
Method: PUT
URI Comments
Deleting SpecDataSheetSubtype
Method: DELETE
URI Comments
SpecificationDataSheet
Creating SpecificationDataSheet
Method: POST
URI Comments
Reading SpecificationDataSheet
Method: GET
URI Comments
Updating SpecificationDataSheet
Method: PUT
URI Comments
{specification_data_sheet_id}
Deleting SpecificationDataSheet
Method: DELETE
URI Comments
{specification_data_sheet_id}
SpecificationDataSheetItem
Reading SpecificationDataSheetItem
Method: GET
URI Comments
Updating SpecificationDataSheetItem
Method: PUT
URI Comments
Deleting SpecificationDataSheetItem
Method: DELETE
URI Comments
• The attribute in bold blue color is mandatory in POST method to create a new object.
SpecificationDataSheetResponseItem
Reading SpecificationDataSheetResponseItem
Method: GET
URI Comments
Updating SpecificationDataSheetResponseItem
Method: PUT
URI Comments
SpecificationDataSheetRevision
Creating SpecificationDataSheetRevision
Method: POST
URI Comments
Reading SpecificationDataSheetRevision
Method: GET
URI Comments
Updating SpecificationDataSheetRevision
Method: PUT
URI Comments
SpecificationDataSheetSupplierResponse
Reading SpecificationDataSheetSupplierResponse
Method: GET
URI Comments
Updating SpecificationDataSheetSupplierResponse
Method: PUT
URI Comments
SpecificationDataSheetSupplierResponseRevision
Creating SpecificationDataSheetSupplierResponseRevision
Method: POST
URI Comments
revise
Reading SpecificationDataSheetSupplierResponseRevision
Method: GET
URI Comments
Updating SpecificationDataSheetSupplierResponseRevision
Method: PUT
URI Comments
SpecificationItemDefinition
Creating SpecificationItemDefinition
Method: POST
URI Comments
Reading SpecificationItemDefinition
Method: GET
URI Comments
Updating SpecificationItemDefinition
Method: PUT
URI Comments
Deleting SpecificationItemDefinition
Method: DELETE
URI Comments
SpecificationSection
Creating SprecificationSection
Method: POST
URI Comments
Reading SpecificationSection
Method: GET
URI Comments
Updating SpecificationSection
Method: PUT
URI Comments
Deleting SpecificationSection
Method: DELETE
URI Comments
SpecificationSectionDefinition
Creating SpecificationSectionDefinition
Method: POST
URI Comments
Reading SpecificationSectionDefinition
Method: GET
URI Comments
Updating SpecificationSectionDefinition
Method: PUT
URI Comments
Deleting SpecificationSectionDefinition
Method: DELETE
URI Comments
SpecificationSectionItem
Creating SpecificationSectionItem
Method: POST
URI Comments
Reading SpecificationSectionItem
Method: GET
URI Comments
Updating SpecificationSectionItem
Method: PUT
URI Comments
Deleting SpecificationSectionItem
Method: DELETE
URI Comments
SpecLibraryItem Deprecated
Creating SpecLibraryItem
Method: POST
URI Comments
Reading SpecLibraryItem
Method: GET
URI Comments
Updating SpecLibraryItem
Method: PUT
URI Comments
Deleting SpecLibraryItem
Method: DELETE
URI Comments
SRLineItem
Creating SRLineItem
Method: POST
URI Comments
Reading SRLineItem
Method: GET
URI Comments
Updating SRLineItem
Method: PUT
URI Comments
Deleting SRLineItem
Method: DELETE
URI Comments
Stock Order
Creating StockOrder
Method: POST
URI Comments
Reading StockOrder
Method: GET
URI Comments
Updating StockOrder
Method: PUT
URI Comments
Deleting StockOrder
Method: DELETE
URI Comments
Style
Creating or Copying a Style
Method: POST
URI Comments
{
“from_style_id” : ”C1234”,
“style_copy_options_id” : ”C42345”,
“node_name” : “New Copied Style from C1234”
}
./styles/{style_id}/copy_colo Copies an existing colorway from the original style to the
rway carriedover style.
"colorway_id": "centric://APPAREL/Colorway/8_3",
"to_style_id": "centric://APPAREL/Style/8",
"node_name": "string77",
"description": "string",
"color_specification":
"centric://APPAREL/ColorSpecification/14",
"add_to_bom": true,
"carry_over_skus": true
Reading Style
Method: GET
URI Comments
Updating/moving Style
Method: PUT
URI Comments
{
“parent_id”:”string”,
“style_id”:”string”
}
Deleting Style
Method: DELETE
URI Comments
StyleCopyOption
Reading StyleType
Method: GET
URI Comments
StyleType
Creating StyleType
Method: POST
URI Comments
Reading StyleType
Method: GET
URI Comments
Updating StyleType
Method: PUT
URI Comments
Deleting StyleType
Method: DELETE
URI Comments
StyleSupplierAttributes
Reading StyleSupplierAttributes
Method: GET
URI Comments
Updating StyleSupplierAttributes
Method: PUT
URI Comments
SubQuestion
Creating SubQuestion
Method: POST
URI Comments
Reading SubQuestion
Method: GET
URI Comments
Updating SubQuestion
Method: PUT
URI Comments
Deleting SubQuestion
Method: DELETE
URI Comments
SubRouting
Creating SubRouting
Method: POST
URI Comments
Reading SubRouting
Method: GET
URI Comments
Updating SubRouting
Method: PUT
URI Comments
Deleting SubRouting
Method: DELETE
URI Comments
SubRoutingItem
Creating SubRoutingItem
Method: POST
URI Comments
Reading SubRoutingItem
Method: GET
URI Comments
Updating SubRoutingItem
Method: PUT
URI Comments
Deleting SubRoutingItem
Method: DELETE
URI Comments
SubRoutingRevision
Creating SubRoutingRevision
Method: POST
URI Comments
Reading SubRoutingRevision
Method: GET
URI Comments
Updating SubRoutingRevision
Method: PUT
URI Comments
Supplier
Creating Supplier
Method: POST
URI Comments
Reading Supplier
Method: GET
URI Comments
Updating Supplier
Method: PUT
URI Comments
Deleting Supplier
Method: DELETE
URI Comments
SupplierContractualDocument
Creating SupplierContractualDocument
Method: POST
URI Comments
Reading SupplierContractualDocument
Method: GET
URI Comments
Updating SupplierContractualDocument
Method: PUT
URI Comments
Deleting SupplierContractualDocument
Method: DELETE
URI Comments
SupplierDiscount
Creating SupplierDiscount
Method: POST
URI Comments
Reading SupplierDiscount
Method: GET
URI Comments
Updating SupplierDiscount
Method: PUT
URI Comments
Deleting SupplierDiscount
Method: DELETE
URI Comments
SupplierItem
Creating SupplierItem
Method: POST
URI Comments
Reading SupplierItem
Method: GET
URI Comments
Updating SupplierItem
Method: PUT
URI Comments
Deleting SupplierItem
Method: DELETE
URI Comments
SupplierItemRevision
Creating revision for SupplierItemRevision
Method: POST
URI Comments
Reading SupplierItemRevision
Method: GET
URI Comments
Updating SupplierItemRevision
Method: PUT
URI Comments
SupplierRequest
Creating SupplierRequest
Method: POST
URI Comments
Reading SupplierRequest
Method: GET
URI Comments
Updating SupplierRequest
Method: PUT
URI Comments
./supplier_requests/{supplier_request_id} ./supplier_requests/{supplier_request_id}
Deleting SupplierRequest
Method: DELETE
URI Comments
• The SupplierRequest state attribute value must start in draft state and then
by subsequent PUT requests, be transitioned to issued, etc.
• The specified srdp_template type (Style or Material) must match the parent
of the SupplierRequest.
SupplierRequestTemplate
Creating SupplierRequestTemplate
Method: POST
URI Comments
Reading SupplierRequestTemplate
Method: GET
URI Comments
Updating SupplierRequestTemplate
Method: PUT
URI Comments
Deleting SupplierRequestTemplate
Method: DELETE
URI Comments
SupplierReview
Creating SupplierReview
Method: POST
URI Comments
Reading SupplierReview
Method: GET
URI Comments
Updating SupplierReview
Method: PUT
URI Comments
Deleting SupplierReview
Method: DELETE
URI Comments
• The attribute in bold Green color requires module: Quality to be installed. Otherwise, it is ignored.
• The attribute in bold Blue color requires module: Quality to be installed. Otherwise, it is ignored.
• ** is mandatory in POST method to create a new SpecLibraryItem object.
Test
Creating Test
Method: POST
URI Comments
Reading Test
Method: GET
URI Comments
Updating Test
Method: PUT
URI Comments
Deleting Test
Method: DELETE
URI Comments
TestRun
Creating TestRun
Method: POST
URI Comments
Reading TestRun
Method: GET
URI Comments
Updating TestRun
Method: PUT
URI Comments
Deleting TestRun
Method: DELETE
URI Comments
TestRunRevision
Creating TestRunRevision
Method: POST
URI Comments
Reading TestRunRevision
Method: GET
URI Comments
Updating TestRunRevision
Method: PUT
URI Comments
TestRunSection
Reading TestRunSection
Method: GET
URI Comments
TestSpec
Creating TestSpec
Method: POST
URI Comments
Reading TestSpec
Method: GET
URI Comments
Updating TestSpec
Method: PUT
URI Comments
Deleting TestSpec
Method: DELETE
URI Comments
(*) - The attribute in bold brown color represents OOTB mandatory attribute.
TestSpecGroup
Creating TestSpecGroup
Method: POST
URI Comments
Reading TestSpecGroup
Method: GET
URI Comments
Updating TestSpecGroup
Method: PUT
URI Comments
Deleting TestSpecGroup
Method: DELETE
URI Comments
TestSpecRevision
Creating TestSpecRevision
Method: POST
URI Comments
Reading TestSpecRevision
Method: GET
URI Comments
Updating TestSpecRevision
Method: PUT
URI Comments
TestSpecSubtype
Reading TestSpecSubtype
Method: GET
URI Comments
Theme
Creating Theme
Method: POST
URI Comments
Reading Theme
Method: GET
URI Comments
Updating Theme
Method: PUT
URI Comments
Deleting Theme
Method: DELETE
URI Comments
ThemeMaster
Creating ThemeMaster
Method: POST
URI Comments
Reading ThemeMaster
Method: GET
URI Comments
Updating ThemeMaster
Method: PUT
URI Comments
Deleting ThemeMaster
Method: DELETE
URI Comments
(*) - The attribute in bold brown color represents OOTB mandatory attribute.
ThemeMasterSubtype
Creating ThemeMasterSubtype
Method: POST
URI Comments
Reading ThemeMasterSubtype
Method: GET
URI Comments
Updating ThemeMasterSubtype
Method: PUT
URI Comments
Deleting ThemeMasterSubtype
Method: DELETE
URI Comments
ThemeProductAlternative
Creating ThemeProductAlternative
Method: POST
URI Comments
Reading ThemeProductAlternative
Method: GET
URI Comments
Updating ThemeProductAlternative
Method: PUT
URI Comments
Deleting ThemeProductAlternative
Method: DELETE
URI Comments
ThemeSecurityGroup
Creating ThemeSecurityGroup
Method: POST
URI Comments
Reading ThemeSecurityGroup
Method: GET
URI Comments
Updating ThemeSecurityGroup
Method: PUT
URI Comments
Deleting ThemeSecurityGroup
Method: DELETE
URI Comments
User
Creating User
Method: POST
URI Comments
Reading User
Method: GET
URI Comments
Updating User
Method: PUT
URI Comments
ValueAttributeDefinition
Reading ValueAttributeDefinition
Method: GET
URI Comments
UserDefaults
How to enable UserDefaults
Method: PUT
URI Comments
Reading UserDefaults
Method: GET
URI Comments
[&<filter_parameters>]..]
Updating UserDefaults
Method: PUT
URI Comments
Deleting UserDefaults
Method: DELETE
URI Comments
6. UTILITY API
Aggregate Store APIs
Why Aggregate Store is needed
The main use case of aggregate store is to get a list of nodes available for a ref attribute.
Currently to get a list of such nodes is done at client side. Server has no knowledge of valid
nodes for a ref attribute. Aggregate store has been designed to bring such queries at server
side, so that query definitions are available at a centralized location (server) acting as a single
source of truth.
In the most simplest of terms aggregate store is a server side implementation to get values of
ref type attributes. Previously, that logic was mostly at the client code, so there was a less
standard way of declaring it, and more importantly was not accessible to other "clients" of C8,
like PLMC, mobile apps, etc.
There are two APIs that have been developed to use the aggregate store:
Provides list of ref attributes for which aggregate store has defined
This API helps integration developers/users know whether an aggregate store exists for any
ref attribute.
Envision this API as a helper API to know beforehand that if an API call is made to get values
for a ref attribute, the API call will either provide the response or throw an error.
API Definition:
1. node_type : Type of node for which user wants to know the aggregate store
2. API response explanation:
a. Node type is not passed in the api:
API 2
Gives list of permissible target nodes that can be assigned to a ref type attribute
This aggregate store api provides a list of all the PERMISSIBLE target node(s) that can be
assigned to the ref type attribute. Example:
On above style URL (C123456) , for the ref type attribute “ProductType “, aggregate store API
will give all the resulting nodes of type ProductType that can be assigned to attribute
ProductType on the URL of Style that was passed in the API.
API Definition:
Below two attributes have been added for better understanding of ref values:
a. currentValues: These are values currently stored with the attribute, and are possibly
not in the result set (making them invalid).
b. disbaledUrls: These are the values that is not available for users to select.
APISearch
The APISearch is a powerful developer tool to search and locate API endpoints, payload
attributes names based on various search parameters as listed in the page.
Since the response mostly for human reading, we will add two criteria to reduce the
response: endpoint_names_only and show_attr.
Reading APISearch
Method: GET
URI Comments
Typical response:
"name": "ContractualDocumentGroup",
"path": "contractual_document_groups",
"version": "v2",
"parents": [],
"children": [
"ContractualDocument"
],
"APIs": [
"method": "PUT",
"path": "contractual_document_groups/{contractual_document_group_id}",
"payload_type": "ContractualDocumentGroup",
"payload": [
"rest_name": "description",
"c8_name": "Description",
"description": "",
"type": "string",
Usage Note
To obtain a exhaustive list of C8 REST API endpoint names:
1. Execute the query: api_search?endpoint_names_only=true
The result will be an json array of dictionaries, each with one entry: the key “name”
followed by the value, which is name of the endpoint.
You will see something like the following, which is a json array of dictionaries:
"name": "ProductGroup"
},
"name": "ShippingContainer"
},
"name": "CanvasTemplate"
},
"name": "Customer"
},
"name": "ApparelBOMSubtype"
},…
The resulting list of C8 REST API endpoint names is very close to a list of C8 REST API exposed
object names, in some cases not exactly the same, cases but close enough to identify it easily.
The result will be an json array of dictionaries, each with several entries: the key “name”
followed by the value which is name of the endpoint.
Each of these will also contain a key named “APIs”, which itself contains a list of dictionaries
whose keys and values describe the endpoint uniquely, using the “method” and “path”.
This dictionary will also include an entry called “payload”, which will be limited to an attribute
of the payload of a type that satisfies the requested attribute type.
"name": "MaterialBOMRevision",
"path": "material_bom_revisions",
"version": "v3",
"parents": [],
"children": [
"PartMaterial"
],
"APIs": [
"method": "POST",
"path":
"material_bom_revisions/{material_bom_revision_id}/items/special_part_mater
ials",
"parameters": [
"material_type",
"material_name"
],
"payload_type": "PartMaterial",
"payload": [
"rest_name": "loss_pct",
"c8_name": "LossPct",
"description": "",
"type": "float"
},
"method": "POST",
"path":
"material_bom_revisions/{material_bom_revision_id}/items/part_materials",
"payload_type": "PartMaterial",
"payload": [
"rest_name": "loss_pct",
"c8_name": "LossPct",
"description": "",
"type": "float"
},
"name": "ApparelBOMRevision",
"path": "apparel_bom_revisions",
"version": "v3",
"parents": [],
"children": [
"PartMaterial"
],
"APIs": [
"method": "POST",
"path":
"apparel_bom_revisions/{apparel_bom_revision_id}/items/special_part_materia
ls",
"parameters": [
"material_type",
"material_name"
],
"payload_type": "PartMaterial",
"payload": [
"rest_name": "loss_pct",
"c8_name": "LossPct",
"description": "",
"type": "float"
},
"method": "POST",
"path":
"apparel_bom_revisions/{apparel_bom_revision_id}/items/part_materials",
"payload_type": "PartMaterial",
"payload": [
"rest_name": "loss_pct",
"c8_name": "LossPct",
"description": "",
"type": "float"
},
"name": "PartMaterial",
"path": "part_materials",
"version": "v3",
"parents": [
"MaterialBOMRevision",
"ApparelBOMRevision"
],
"children": [],
"APIs": [
"method": "PUT",
"path": "part_materials/{part_material_id}",
"payload_type": "PartMaterial",
"payload": [
"rest_name": "loss_pct",
"c8_name": "LossPct",
"description": "",
"type": "float"
If one wants to zoom out a bit, to see just the three object names, repeat the steps above, but
at step # 2, set “endpoint_names_only” to true. The resulting response will only go as deep as
the object names, revealing that (in 7.2, at least) there are only 3.
"name": "MaterialBOMRevision"
},
"name": "ApparelBOMRevision"
},
"name": "PartMaterial"
api_search?endpoint_names_only=true&endpoint_skip=0&endpoint_limit=10000
&api_description=Style&show_attr=false
The result will be an json array of dictionaries, each with one entry: the key “name” followed
by the value, which is name of an endpoint that is a parent to the class’s instantiated objects
"name": "ReviewStyleRevision"
},
"name": "StyleCopyOptions"
},
"name": "StyleSupplierAttributes"
},
"name": "ReviewStyle"
},
"name": "SupplierRequest"
},
"name": "FinalInspectionReviewStyle"
},
"name": "Style"
},
"name": "StyleType"
},
"name": "Collection"
ConfigUpdate
Update Config is trigged manually by an Administrator through Centric Web UI. To trigger the
same programmatically, use this endpoint. This will trigger a full or partial update of the
server configuration job. Once triggered, the job will run asynchronously and generally takes
several seconds to complete depending on the Centric Server data volume. The Update job,
while running, will slow down all other server operations, so use this utility sparingly, as
repeated calls can potentially impair server performance for all users. Please note, almost all
Centric business object change is immediately visible to other users without running Server
update configuration. Only a few business object need this to reflect their change to all
Centric users.
URI Comments
{
"is_full_update": false,
"due_time": "2020-05-06T22:47:42.938Z"
}
Count
Count returns the total number of instances of a specific object type in the Centric 8
database.
Example: ./count/style
Returns {count:5120}
Reading Count
Method: GET
URI Comments
./count/{ObjectName} Retrieves the total number of the specified type of Centric Business
Object in the Server. The object_name should be a valid Centric
Business Object name such as Style, Country, Season etc. If any
invalid name is passed, the endpoint will return http 404 error with
message “No such domain”.
Email
Creating Email
Method: POST
URI Comments
./emails Creates a new email and send it to the recipient as per information provided
in the payload.
ExportImportJob
This is an utility endpoint which will allow triggering of predefined Centric 8 Export or Import
job using REST API.
Reading ExportImportJob
Method: GET
URI Comments
Updating ExportImportJob
Method: PUT
URI Comments
Deleting ExportImportJob
Method: DELETE
URI Comments
Attribute details
due_time - Next time the job will be executed. Used for schedule_type: OneTime only. All
other schedule types will calculate this field automatically.
execution_time - Specifies the time of day when the job will be executed. Used for
schedule_type: EveryDay and EveryBusinessDay")
interval_in_seconds - Interval in seconds. Used for schedule_type: EveryNumberSeconds only
schedule_type - is required to trigger the job and valid value must be from enum list Stopped,
OneTime , EveryBusinessDay, EveryDay, EveryNumberSeconds
Stopped – will stop the job
OneTime – is used in addition with “due_time”
EveryDay – is used in addition with “execution_time”
EveryBusinessDay is used in addition with “execution_time”
EveryNumberSeconds is used in addition with “interval_in_seconds”
Error messages will be displayed for missing info.
• Invalid schedule_type = 'EveryNumberdSeconds', valid value must be from enum list
Stopped, EveryBusinessDay, EveryDay, EveryNumberSeconds, OneTime",
• Attribute 'due_time' is required'. In addition to schedule_type = 'OneTime'.
[GET] ./export_import_jobs/C7163
and it will return the job information in the following payload
"id": "C7163",
"due_time": 0,
"schedule_type": "Stopped",
"execution_time": 28800000,
"interval_time": 86400,
"auto_delete": false,
"error_message": "",
"progress": 0,
"progress_message": "",
"state": "None",
"modified_by": "centric://REFLECTION/INSTANCE/User/Administrator",
"notification_level": "",
"notification_group": "centric:",
"executable_type": "ExportExecutable"
[PUT] ./export_import_jobs/C7163
"/csi-requesthandler/api/v2/export_import_jobs/upload";
httpPost.addHeader(HttpHeaders.ACCEPT, "application/json");
httpPost.addHeader("overwrite","true");
setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
mpeBuilder.addBinaryBody("file", theFile);
httpPost.setEntity(multiPartEntity);
httpResponse = closableHttpClient.execute(httpPost);
fileName = "jobFile.xml";
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
httpResponse = closableHttpClient.execute(httpPost);
InputStream in = httpResponse.getEntity().getContent();
Files.copy(in, Paths.get(filePath),StandardCopyOption.REPLACE_EXISTING);
Job
The Job EndPoint is a read or update endpoint which allows access or modify the _CS_Job
object (not the Job configuration file). The Centric 8 job should be created and deleted using
the C8 UI and/or export/import functions. Alternatively, the Job object will be created as part
of creating it's logical parent. Update operations are supported.
Reading Jobs
Method: GET
URI Comments
Updating Job
Method: PUT
URI Comments
License
Reading License
Method: GET
URI Comments
Log
Reading a list of Centric Log file name and details
Method: GET
URI Comments
./logs/dir Retrieves the list of all Centric logs in the payload. A JSON payload
example is shown below.
[
"file_name": "pi_rest.log",
"length": 0
},
"file_name": "pi_centric.log",
"length": 0
./logs/{log_filename} Returns the file stream to the specified Centric log file. The
following Java example shows how to use the endpoint.
This Java code snippet will illustrate how you can download and save a specific log file by using
the logs endpoint.
System.out.println("uriString:" + uriString);
httpResponse = closableHttpClient.execute(httpGet);
InputStream in = httpResponse.getEntity().getContent();
// save it locally
ObjectTree
Centric 8 business object endpoints are designed to create, query, update or delete only a
specific business object. In real life scenario, we often need to retrieve multiple related business
objects, which requires multiple calls to business object endpoints. ObjectTree endpoint allows
us to fetch parent child relation linked business objects through a single call thereby simplify
the integration code. It cannot fetch business objects which are not related.
Querying Business Object Tree
Method: POST
URI Comments
./object_tree Pass the parent child relation as the query as JSON in the http request body.
"parent_id": "string",
"children": [
{"type":"<type-1>", "path":"<path-1>"},
{"type":"<type-2>", "path":"<path-2>"},
….
{"type":"<type-n>", "path":"<path-n>"}
▪ Not all classes have been Rest exposed. If you make a Rest call
against such a class, user will get HTTP 400 error stating the
endpoint for that class has not been exposed.If such class is an
abstract base one, then the user can try any of derived classes
from that base one .
to determine all the attributes of that specific Category2 object. The query result will be
returned in XML or JSON format as you have requested.
• Parse the JSON or XML to get the attribute value for “id”
id = "centric%3A%2F%2FAPPAREL%2FCategory2%2FFW0809_Multisport_Etirel "
• Now construct the JSON query for the ObjectTree for that specific Category2
object, which has both Colorway and SKU as its two children. The query data
payload will look like this:
"parent_type": "Category2",
"parent_id":
"centric%3A%2F%2FAPPAREL%2FCategory2%2FFW0809_Multisport_Etirel",
"children": [
{"type":"Colorway", "path":"Hierarchy:Hierarchy:ActiveColorways"},
{"type":"SKU", "path":"Hierarchy:Hierarchy:RealizedProducts"}
The Type names, highlighted in yellow are the valid Centric business Object Endpoint
names.
The paths are highlighted in green. To determine the path to the child from the parent,
such as path to Colorway from Category2, use Centric 8 class browser tool from the Web
UI. Keep on noting the paths while navigating from the parent to the child. The paths are
highlighted in red rectangles in the screenshot below.
• Once you run the query using the ObjectTree endpoint, it will internally
traverse the Centric 8 object tree and return the parent as well as the
collection of Children as a Json payload.
Example 2:
Providing example is the best way to understand how request payload is constructed. There
are three major elements to creating the request payload:
{
"parent_type": "string",
"parent_id": "string",
"children": [
{"type","path":""}
]
}
1. parent_type : Object type of the parent object. For example, Style,Season,Material, etc
parent_id : Id of the parent object
children: Under this attribute, user would provide the type of the object (related to
parent_type) the user wants to make call against:
c. type: Type of the object For example, Style, Season, Material, etc.
d. path: Relationship between parent object and child object. The path can go to
multiple level of relationships. Format is: Relationship:Relationship
Paths can go to multilevel of related objects.
e. Example 1:
In the below example, users can get the following information related to a style:
• product_type
<Class name>EndPoint(in this case ProductType) is not implemented" and
such class is abstract base one, then the user could try any of derived
classes from that base one. For example, if the message said that
"ProductTypeEndPoint is not implemented", then try StyleType (derived
from ProductType).
• category_1(brand)
• category_2(department)
• collection
• parent_season
• theme
• shape
"parent_type": "Style",
"parent_id": "C150288",
"children": [
{"type":"StyleType", "path":"ProductType"},
{"type":"Collection", "path":"Collection"},
{"type":"Season", "path":"ParentSeason"},
{"type":"Theme", "path":"Theme"},
{"type":"Shape", "path":"Shape"},
{"type":"Category1",
"path":"ParentSeason:Hierarchy"}
Session
Creating a new C8 API Session (login)
Method: POST
URI Comments
./session Creates a new C8 REST API Session by logging in by using a valid C8 username and
password passed as string in a JSON/XML payload in the HTTP request body. The
data model in JSON format is shown below:
"username": "<string>",
"password": "<string>"
On success the API will return a valid token in the response object. A successful login
JSON data in the http response will look like this:
The Figure 1. illustrates a typical session REST call and a return token value from the
C8 server
From this point, you can make authenticated and authorized REST API by passing the
token string through a cookie in the HTTP request header. See Figure 2.
If the authentication fails, the JSON payload will contain authentication error message.
./session Cancels the current user session as identified by the cookie provided authentication
tokens. This is used for logging out from REST API session. The REST API will respond
with HTTP status 401 to indicate that the user is no longer authorized. See Figure 3.
Ref.
Attribute Data Type Read Only Description
Type
username String string R/W C8 REST API user login name
password String string R/W C8 REST user's password
Ref.
Attribute Data Type Read Only Description
Type
token String string R/O Authentication data required to manage
user access.
Figure 1. Session POST Request: passing the username and password in the request body (using Postman)
Session POST Response: receiving the security token in the response body (using Postman)
Figure 2. Example: Passing token in http header during any REST call (using Postman)
Figure 3. Example: Logging out by passing token string as cookie through http header (using Postman)
Before you can access any REST endpoints, you have to get authenticated in C8 server as a
valid user by using the Session endpoint. The following example will show how to use the
Session endpoint to authenticate and get a valid security token. You can then save the security
token in a client-side cookie like a browser does and let you application automatically use the
cookie in all subsequent Centric 8 REST call, or you can programmatically pass the
authentication token via http header in every subsequent REST call. The authentication token
remains valid for a certain time as configured in your C8 application server. Once the t oken
has expired, you need to reauthenticate to get a new token and use it as before.
Endpoint POST
http://{c8server}/csi- Pass the username and password through the Http request
requesthandler/api/{ve
rsion}/session Body either in JSON or XML formatted data:
JSON Example:
{
"username":"Soumya",
"password":"C3nTr1c"
}
XML Example:
<session>
<username>Soumya</username>
<password>C3nTr1c</password>
</session>
On success, the Session API returns a new C8 session and
authentication token in the HTTP body as JSON or XML
Version
Reading Version
Method: GET
URI Comments
ClassRelationships
This endpoint’s GET method returns a list of paths that show how the “begin” business object
class is linked to the “end” business class in the returned Json payload. It is useful for the
Centric Rest API developers to quickly determine how the Centric business classes are linked
with each other so that they can be traversed programmatically.
Querying ClassRelationship
Method: GET
URI Comments
Example
The API displays a path between two C8 classes Category2, Department are linked to
MerchPlan
<host>/csi-
requesthandler/api/v2/class_relationship?begin=Category2&end=MerchPlan&incoming=fals
e&max_depth=7
Sample output:
"paths": [
"Category2 > Collection > Style > MerchProductVersion > MerchLevel >
MerchPlan",
"Category2 > IssueLog > Collection > Style > MerchProductVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > Colorway > MerchOptionVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > MerchProductVersion > MerchVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > MerchProductVersion > MerchSeason >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > Style > MerchProductVersion > MerchLevel
> MerchPlan",
"Category2 > Collection > Wbs > Colorway > MerchOptionVersion > MerchLevel
> MerchPlan",
"Category2 > Collection > Wbs > Style > MerchProductVersion > MerchLevel
> MerchPlan",
"Category2 > StructureItemDefaults > Wbs > Style > MerchProductVersion >
MerchLevel > MerchPlan",
In C8 attributes, a relationship could have one or both directions. See in class browser incoming
on the left side (green color) and the rest on the right side (red color).
The max_depth parameter is limiting how deep the relationship is explored (a higher number
will slow down the performance)
ClassRelationship
The API displays a path between two C8 classes.
It will help a developer, a business consultant or a customer’s admin to answer the question
on how domain classes are related.
For example, to find out how Category2 (Department) is related to MerchPlan, run the
following url:
<host>/csi-
requesthandler/api/v2/class_relationship?begin=Category2&end=MerchPlan&incoming=false&max_dep
th=7
"paths": [
"Category2 > Collection > Style > MerchProductVersion > MerchLevel >
MerchPlan",
"Category2 > IssueLog > Collection > Style > MerchProductVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > Colorway > MerchOptionVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > MerchProductVersion > MerchVersion >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > MerchProductVersion > MerchSeason >
MerchLevel > MerchPlan",
"Category2 > Collection > Style > Style > MerchProductVersion > MerchLevel
> MerchPlan",
"Category2 > Collection > Wbs > Colorway > MerchOptionVersion > MerchLevel
> MerchPlan",
"Category2 > Collection > Wbs > Style > MerchProductVersion > MerchLevel
> MerchPlan",
"Category2 > StructureItemDefaults > Wbs > Style > MerchProductVersion >
MerchLevel > MerchPlan",
In C8 attribute relationship could have one or both directions. See in class browser incoming
on the left side (green color) and the rest on the right side (red color).
The max_depth parameter is limiting how deep the relationship is explored (higher number
will slow down the performance)
Possible improvement:
import java.time.format.DateTimeFormatter;
import java.time.Instant;
import java.time.ZoneId;
import java.util.Date;
// Create an instance of date you want to convert and pass it to the method.
// It will return a C8 date formatted string
return
DateTimeFormatter.ISO_INSTANT.withZone(ZoneId.of("UTC")).format(Instant.ofEp
ochMilli(date.getTime()));
}
Date2String() {
new Date2String();
This utility program in Java makes an unencoded URI into a double escaped URI or decodes a
double escaped URI into a non-escaped URI.
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.io.UnsupportedEncodingException;
if (args.length != 0) {
wkArgs = args;
} else {
System.out.println("Enter the string to encode or decode");
System.exit(0);
String step2;
step1 = URLDecoder.decode(arg,"UTF-8");
if (step1.equals(step2)) {
continue;
} else {
} else { // encode
mode = "encode";
if (step1.equals(arg)) {
continue;
}
} catch (UnsupportedEncodingException uee) {
}
}
try {
return step2;
}
return null;
<html>
<body>
<p>Click the button to process the string.</p>
<FORM NAME="EncodeDecodeForm">
onClick="encodeFunction()">
<p id="Line1"></p>
<p id="Line2"></p>
<p id="Line3"></p>
<p id="Line4"></p>
<p id="Line5"></p>
<script>
function encodeFunction() {
var uri = document.EncodeDecodeForm.stringToEncode.value;
function decodeFunction() {
</script>
</body>
</html>
throws Exception {
try {
documentRevisionId + "/upload";
httpPut.addHeader(HttpHeaders.ACCEPT, "application/json");
MultipartEntityBuilder mpeBuilder =
MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE
);
mpeBuilder.addBinaryBody("file", docFile);
HttpEntity multiPartEntity = mpeBuilder.build();
httpPut.setEntity(multiPartEntity);
hrb.setResultBean(httpResponse, true);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (httpResponse != null)
httpResponse.close();
}
return hrb;
3D zip files and 3D Material zip files can be uploaded to following objects:
▪ "ColorMaterial",
▪ "Material",
▪ "MaterialSample",
▪ "Sample",
▪ "SupplierItem",
▪ "SRLineItem",
▪ "Style",
▪ "Theme"
1. Create a simple document - upload normal, 3d file and 3d Material file all should work
2. Create a document with attribute is3D=true, upload normal, 3d file and 3d Material file
all should work.
3. Create a document with attribute is3D=true, upload normal, 3d file, and 3d Material
file. First, two should work but 3D Material upload can not be done for endpoints like
“shape”
throws Exception {
try {
httpPut.addHeader(HttpHeaders.ACCEPT, "application/json");
HttpPost httpPost = new HttpPost(uriString);
httpPost.addHeader(HttpHeaders.ACCEPT_ENCODING,
"multipart/form-data");
MultipartEntityBuilder mpeBuilder =
MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE
)
mpeBuilder.addBinaryBody("file", docFile);
mpeBuilder.addTextBody("node_name", docNodeName);
httpPost.setEntity(multiPartEntity);
httpResponse = closableHttpClient.execute(httpPut);
hrb.setResultBean(httpResponse, true);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (httpResponse != null)
httpResponse.close();
return hrb;
}
The REST Client invokes the REST endpoint (HTTP URI) using appropriate HTTP methods POST,
GET, PUT, DELETE and sends the attributes/parameters by loading them in XML or JSON
payload or in HTTP header. The REST service provider performs the necessary business
transaction for the request and returns the result XML/JSON payload with an appropriate
HTTP error code such as 200 (successful HTTP request).
An HTTP client interacts with the REST service provider using HTTP, so the client can be
written by using any HTTP capable Internet programming language. The example we have
provided uses Java, however any suitable language and framework can be used make the
REST calls, such as: C++, Python etc.
All sample codes provided here are “as-is” and Centric Technical
support will not provide any assistance in setting up, debugging or
modifying these codes. You are free to change and adapt these
codes to work with your Centric Server and environment.
The following screenshot shows how to set the required open source jar files in Eclipse IDE
library path.
In the following section I will explain the important communication code snippets, without
going into line by line explanation of the example code. Please look into the complete source
code to see how these code snippets have been used in the actual example.
Step 1
Instantiate a HttpPost/HttpGet/HttpPut/HttpDelete object as appropriate for the REST
endpoint.
The HttpPost object will call the Session endpoint using Http POST method, HttpGet will call
the endpoint with HTTP GET method and so on.
Step 2
Create the JSON payload by initializing a StringEntity with identity information
stringEntity.setContentType("application/json");
Step 3
Load the StringEntity to the HttpPost you have instantiated in step 1
httpPost.setEntity(stringEntity);
Step 4
Execute the POST call to Session endpoint and retrieve the HTTP response from the Centric 8
server. This response will contain the session token in the JSON payload as well as the HTTP
error code
CloseableHttpResponse httpResponse;
httpResponse = closableHttpClient.execute(httpPost);
Step 5
Parse the HTTPResponse
httpResponse.getStatusLine().getStatusCode();
httpResponse.getStatusLine().getReasonPhrase();
httpResponse.getAllHeaders();
// get the entity which contains the JSON or XML return payload
httpResponse.getEntity());
Step 6
Do not forget to close the HTTP response.
httpResponse.close();
Version: 1.0
HttpResultBean resultBean;
TestREST() {
try {
resultBean.printHeaders();
resultBean.printHeaders();
resultBean = callrest.logout();
resultBean.printHeaders();
callrest.closableHttpClient.close();
}
}
new TestREST();
Uses:
and
Version: 1.0
import org.apache.http.impl.client.*;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.HttpHeaders;
import org.apache.http.client.methods.*;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.entity.*;
import java.io.IOException;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.util.StringTokenizer;
CloseableHttpClient closableHttpClient;
CloseableHttpResponse httpResponse;
HttpGet httpGet;
HttpPost httpPost;
HttpDelete httpDelete;
org.apache.http.Header[] httpResponseHeader;
StringEntity stringEntity;
String[] httpHeaderValues;
StringTokenizer st;
BasicHttpContext basicContext;
BasicCookieStore basicCookieStore;
BasicClientCookie basicCookie;
public CallREST() {
CookieHandler.setDefault(new CookieManager());
basicContext.setAttribute(HttpClientContext.COOKIE_STORE,
basicCookieStore);
closableHttpClient =
HttpClientBuilder.create().setDefaultCookieStore(basicCookieStore).build();
}
/*
===============================================
endpoint
*/
// Login
// Returns HTTP error code and message in HttpResultBean
stringEntity.setContentType("application/json");
// Loading the StringEntiry to the HttpPost request
httpPost.setEntity(stringEntity);
httpResponse = closableHttpClient.execute(httpPost);
} catch(Exception e){
e.printStackTrace();
}
finally{
if(httpResponse != null)
httpResponse.close();
return hrb;
}
// Logout
hrb.setResultBean(httpResponse);
} catch(Exception e){
e.printStackTrace();
}
finally{
if(httpResponse != null)
httpResponse.close();
this.invalidateCookie();
}
return hrb;
/* ===============================================
REST calls to Session endpoint
/* ===============================================
try {
hrb.setResultBean(httpResponse);
} catch(Exception e){
e.printStackTrace();
}
finally{
httpResponse.close();
return hrb;
/* ===============================================
REST calls to MaterialTypes endpoint
==================== START ==================== */
httpGet.addHeader(HttpHeaders.ACCEPT,
"application/json");
httpResponse = closableHttpClient.execute(httpGet);
hrb.setResultBean(httpResponse);
} catch(Exception e){
e.printStackTrace();
finally{
// Closing open httpResponse
if(httpResponse != null)
httpResponse.close();
return hrb;
Uses open-source HTTP client and core library from Apache foundation
https://mvnrepository.com/artifact/org.apache.httpcomponents
*/
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.util.EntityUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
private String resultJSON = null; // Will contain REST API Http Response JSON
Payload
JsonObject jsonObject;
return resultIsArray;
this.resultJSON = json;
this.httpErrorMessage = s;
if(hdrs != null) {
headers = hdrs;
headerValues[ctr] = hdrs[ctr].getValue();
entity = httpEntity;
if (entity != null) {
try {
this.resultIsArray = false;
this.setJSONString(EntityUtils.toString(httpEntity));
this.resultIsArray = true;
jsonArray = (JsonArray)jsonParser.parse(this.resultJSON);
// found an object
jsonObject = jsonParser.parse(this.resultJSON).getAsJsonObject();
} else {
this.resultJSON);
System.exit(8);
} catch (Exception e) {
e.printStackTrace();
this.stringBody = stringbody;
this.resultIsArray = resultIsArray;
// First initialize all setters to make sure no old values get cached
this.setHeaders(null);
this.setHttpCode(0);
this.setHttpErrorMessage("");
this.entity = null;
this.resultJSON = "";
setHttpCode(closableHttpResponse.getStatusLine().getStatusCode()); //
getting the HTTP error code
setHttpErrorMessage(closableHttpResponse.getStatusLine().getReasonPhrase()); //
getting the error message
setEntity( closableHttpResponse.getEntity());
return this.resultJSON;
return this.httpCode;
return this.httpErrorMessage;
return headerValues;
return headers;
return entity;
return this.stringBody;
void printHeaders() {
if(this.headerValues != null) {
System.out.println(this.headerValues[ctr]);
return prettyJson;
return prettyJson;
*/
9. FAQ
The purpose of this attribute is to record when a business object has been changed by an user.
A System initiated object change does not change this attribute. Note that modified_at is what
is known as an intent timestamp, not a commit timestamp. As a transaction runs, it posts the
modified_at values as it goes, but these values do not become visible until the transaction
commits.
Normally there is only a short lag between modified_at and commit_time, but sometimes
modified_at may lag by several minutes. This means that modified_at values not only lag, they
may not even be posted in ascending order. If you run a query at 10:00, you may come along
a few minutes later and see that a new transaction has just posted a modified_at time value
of 9:55. Therefore, modified_at is not reliable for detecting changes in a system where update
transactions are running. Relying on modified_at, you could miss detecting changes. You
should instead be looking at the Shadow Table integration features, for true transaction-based
change detection. Refer to the topic REST GET incremental updates to RET endpoints in the
C8 Advanced Administrator – Volume II document.
FAQ 846
Centric 8 REST API DEVELOPER GUIDE
timeout issues should be resolved by inspecting the Centric Server configuration carefully
while consulting the Centric Server Admin Guide.
Please note that from Centric 7.0 onwards uses Undertow as the web server and supports web
socket. The earlier version of Centric used IIS as the web server. To support Web socket,
Centric Server now checks for web socket connection for every http request. If the web socket
connection fail for 10 times, then server/client will automatically expire the session. Please
check the C8 configuration for Undertow and adjust the following to resolve the issue:
We will replicate creating an online user as we do in the Centric web interface as shown above.
This can be done in two ways.
Step 1: create Supplier, Customer, and SalesDivision using following Rest endpoints.
▪ POST /suppliers
▪ POST /customers
FAQ 847
Centric 8 REST API DEVELOPER GUIDE
▪ POST /sales_divisions
Step 2: Get the newly created Supplier/Customer/SalesDivision id and use that in OnlineCrew
POST method to create a new OnlineCrew object.
POST /online_crews/parent/{parent_id}
Step 3: Add existing User/s to the newly created online crew of the Supplier / Customer /
SalesDivision.
PUT /online_crews/{online_crew_id}
{
"crew_users": [
"C3178",
"C3179"
],
"active": true
Alternate two step method, creating OnlineCrew and linking User in single POST call
Step 1: create Supplier, Customer, and SalesDivision using following Rest endpoints.
▪ POST /suppliers
▪ POST /customers
▪ POST /sales_divisions
Step 2: Get the newly created Supplier/Customer/SalesDivision id and use that in OnlineCrew
POST method to create a new OnlineCrew object.
POST /online_crews/parent/{parent_id}
"crew_users": [
"C3178",
"C3179"
],
FAQ 848
Centric 8 REST API DEVELOPER GUIDE
"active": true
Please note the following conditions have to be met for the both above methods:
Condition A: The User passed to the OnlineCrew data payload should not be linked to any
Company, Supplier or SalesDivision objects. The best way to ensure that is to check the User
attributes and make sure they satisfy the following:
▪ IsSupplier = "true"
▪ IsAgent = "true"
▪ Crew = "centric:"
▪ State not equals "SourceState:Inactive"
/api/v2/online_crews/{online_crew_id}/assignments
and pass the following payload with the appropriate node_name, user and role values.
"node_name": "string",
"assigned_users": [
"string"
],
"role": "string"
}
FAQ 849
Centric 8 REST API DEVELOPER GUIDE
▪ UsedByOnlineCrew = true
▪ UsedByACL = false
This change affects all GET/PUT/POST APIs that deal with refset attributes.
Old Behaviour:
FAQ 850
Centric 8 REST API DEVELOPER GUIDE
New Behaviour:
FAQ 851
Centric 8 REST API DEVELOPER GUIDE
New Behavior: The user has to send the value to refset attributes as a map(key: value pair)
FAQ 852
Centric 8 REST API DEVELOPER GUIDE
If the user wants to get detailed API error message (same as in C8 Swagger page), pass the
request header “Accept” = “application/json”:
Legend
1. API Definition:
The "Example Value" section is where the user can see the attributes type (string, List,
Boolean,etc). Example: API definition for GET:Style.
FAQ 853
Centric 8 REST API DEVELOPER GUIDE
2. API Payload:
It can be seen when the user clicks on "Try It Out" in Swagger. It includes the list of
attributes sent to C8 server.
Presence of attributes in API definition hosted in Swagger means different things based on
HTTP method
1. GET
a. By default the attributes user sees in the API Definition are the attributes that will be
part of the GET API response.
b. Presence of custom attributes in API definition and API response depends on few
things:
▪ In API response:
• OTB the attributes are rest exposed and present in the API response by
default.
• If custom attributes are "Rest Exposed", they will be part of the API response.
• “Rest Exposed” attributes can be used “Query Parameter” to filter the results.
FAQ 854
Centric 8 REST API DEVELOPER GUIDE
▪ In API definition:
• To see custom attributes in GET:API definition, after custom attribute is set to
either “Rest Exposed” or “Rest Update”, restart Wildfly server and refresh
Swagger Page.
Example,
Presence of custom attributes on Style object after Wildfly server was restarted
and Swagger page refreshed.
2. PUT
a. Unlike GET method, where user can read API definition and know what attributes will
be part of GET:API response, for PUT method, user should focus on API Payload to
understand what attributes can be edited via API.
b. Unlike GET method, attributes present in API Definition of PUT method does not mean
they can be edited by API.
c. The attributes that are part of API payload can be edited. If any particular attribute is
not present in default API payload in Swagger, most likely the chances are it cannot be
edited via API. Contact support in such cases.
d. To see custom attributes in PUT: API payload, after custom attribute is set to either
“Rest Exposed” or “Rest Update”, restart Wildfly server and refresh Swagger Page.
FAQ 855
Centric 8 REST API DEVELOPER GUIDE
Example,
Presence of custom attributes on Style object PUT:API payload, after Wildfly server
was restarted and Swagger page refreshed:
3. POST
a. POST API Payload and Definition behaves similar to PUT.
b. API User should focus on API Payload to understand what attributes can be set via API.
c. Attributes present in API Definition of POST method does not mean they can be edited
by API.
d. The attributes that are part of API payload can be set. If any particular attribute is not
present in default API payload in Swagger, most likely the chances are it cannot be
edited via API. Contact support in such cases.
e. To see custom attributes in POST: API definition, after custom attribute is either set to
“Rest Exposed” or “Rest Update”, restart Wildfly server and refresh Swagger Page.
Example,
Presence of custom attributes on Style object PUT:API payload, after Wildfly server
was restarted and Swagger page refreshed:
FAQ 856
Centric 8 REST API DEVELOPER GUIDE
4. DELETE
a. Delete method is fairly simpler than other http method.
b. After a successful Delete api call, the node is deleted and the attributes that are part
of API Definition will be part of API response with 200 http status.
FAQ 857
Centric 8 REST API DEVELOPER GUIDE
Style hierarchy
Table A
ColorMaterial
Colorway
Contact
CurrencyExchangeRate
ColorColorwayContext
CurrencyExchangeTable
CustomerPurchaseOrder
EnumList
EnumValue
Localization
LookupItem
MarketingCollection
MarketingLook
MarketingSegment
MaterialPlanPlacementColorway
Material
MCMaterial
MCProductColor
MCProduct
Table B
Character UTF-8
] %5D
^ %5E
_ %5F
` %60
{ %7B
| %7C
} %7D
~ %7E
%7F
When Centric Server is deployed in Docker container, it logs all activities to a single log file.
Log Analysis
Frequently, one needs to see a more comprehensive picture of logged events than can be
obtained by merely opening and inspecting a log file.
• Watching a running log in real time, while working with the logged process
• Forming a comprehensive picture or synopsis of events in several logs at one time.
We will use Perl 5 for both of these coammand. Check whether Perl 5 is installed by going to
the command line of your chosen terminal (DOS, CMD or Powershell), and invoking:
perl -v
HIt the Enter key. If perl is installed, you should see a response somewhat like this:
Perl may be copied only under the terms of either the Artistic License or
the
GNU General Public License, which may be found in the Perl 5 source kit.
If Windows doesn’t seem to know what you are talking about, then you probably need to
install Perl. ActiveState has a good Perl distribution package here.
Once Perl is installed, you can proceed with either of the scenarios below:
This is a good way to visually inspect the running output of one log file at a time.
Since our focus in this guide is on C8 REST API we will work with pi_rest.log. It would be possible
to involve other log files and even inspect several of these concurrently in tiled terminal
windows (DOS, CMD or Powershell). For example, if you are testing login on C8 REST API, but
you want to watch the pi_security.log simultaneously, you could open a window separate from
the one that displays pi_rest.log, and use a command that targets pi_security.log.
We will use Perl 5 for to emulate the tail -f command that one usually uses on Unix or Linux.
Notes:
• The preceding Perl expression works only on pi_rest.log, but you can easily change the
mention of “pi_rest.log” in the invocation above to any of the other log files described
in the table at the start of this section.
• It selects only the lines of interest: "[ERROR]", “[WARN ]”, and "[INFO ]" level log lines,
which should cover everything usually printed in the log file. If you wanted to add other
levels to your query, see this list of log levels. If you add any, be sure to space-pad to
five characters in the square brackets and delimit the additional log levels with the pipe
symbol “|”.
• You could limit to just “[ERROR]” and “[WARN ]” for example, by leaving out the
“|[INFO ]”. Note that you would remove the text, including the square brackets, and
the pipe symbol “|”, which is essentially a delimiter that means “or”. But the command,
as printed above, will show you everything that happens, and that is usually what you
will want.
• This command outputs in chunks of 10 lines at a time. If you have less than 10 lines in
your log file when you start the command, you will get a harmless error:
• To resolve this, you could open the log file in an editor, add 10 or more blank lines,
then save and close. You could also just wait until the log output has surpassed 10 lines
before starting the command.
Note that in the output below, you can see the id values of the objects created (such as “C647”
or “C656”) in close apposition to the endpoints used to create them
(“/collections/C633/hierarchy” and “/collections/C640/hierarchy”).
[2020-10-16 17:46:45,559] [INFO ] [REST (137)] -- Child Node C640 of C628 for
relationship Hierarchy was created.
[2020-10-16 17:46:46,418] [INFO ] [REST (141)] -- The Style with URL C647 is
either a Template or has no ProductSourcing or ProductSources. Hence, no need
to create any BOMSupplierAttributes
[2020-10-16 17:46:46,856] [INFO ] [REST (141)] -- Child Node C647 of C633 for
relationship Hierarchy was created.
[2020-10-16 17:46:47,731] [INFO ] [REST (145)] -- The Style with URL C656 is
either a Template or has no ProductSourcing or ProductSources. Hence, no need
to create any BOMSupplierAttributes
[2020-10-16 17:46:48,168] [INFO ] [REST (145)] -- Child Node C656 of C640 for
relationship Hierarchy was created.
This is the technique to use for performance issues, or other issues of a general nature, where
one would like to look in several logs at one time.
It can be made to work on Mac (Unix), Linux, or Windows, so it can be done on a test VM
(typically running MS Windows), or on one’s daily work machine.
1. Marshall the logs into a directory. This can be simply the “Log” directory under the C8
installation, or, If you have downloaded the logs from C8 or from Jira, unzip the
resulting zip file, and keep the logfiles all together in a directory in one’s local
filesystem.
2. Open a terminal session and traverse to the log file directory in one’s filesystem.
3. One may run a Perl one-liner to get just the [ERROR]s and [WARN ]ings from ALL the
logs at once, showing the filename, the line number in that filename, and log line. The
perl one-liner as it would be used on Unix/Mac/Linux is:
The expression immediately above will not work on M.S. Windows. Here is a DOS /
PowerShell compatible version:
This latter version satisfies DOS’s insistence on double-quotes to wrap and protect the
Perl script, and handles DOS and PowerShell’s recent refusal to expand asterisk wildcards
into full file name (when they appear in a Perl command line). Because of the “hoisting”
of the double quote, I also use the Perl-specific qq{} construct to wrap what had
previously been double-quoted within the program.
The one-line-perl script as given above, in both instances will output to a file called
“outfile.txt”. Excel does not seem to recognize a “.tsv” (tab separated values) file ending
any more, so we use “.txt”.
One must have the lines sorted by date/time. This is to make time-proximate log entries
from different logs appear together and hopefully tell a story.
The lines will still be unsorted for time, but one can now pull them into M.S. Excel.
4. Start up Excel and import the tab separated values file. You should not need to change
anything about the formatting.
5. Sort on the second column, which contains the sort-compliant representation of the
date time. Now the lines will be in the order that they occurred in time. They will jump
around across different log files, but should tell some cogent story of what is happening
across any interval.
6. Save As the file, being sure to save it as an XSLM, which can contain a macro.
7. Now, one will want to draw the viewer’s eye to data of significance by highlighting
the lines that should stand out.
For example (and what may suffice in the case of REST API), one may want to highlight
anything that comes from the pi_rest.log or any of its re-numbered predecessors. One may
also want the rows from pi_profile.log or any of its re-numbered predecessors, as long as
the log line mentions the string “REST”.
or
i. One can save the re-sorted file and then pull the file into any decent
text editor (e.g. Vim, or GVim). If one uses (G)Vim, one can use a
regular expression to highlight the text that one wants to stand out.
ii. A search pattern that would result in this highlighting in (G)Vim is (type
“/“ first):
\[REST [^\]]*]\|pi_rest.log\(\.\d\)\?
Expected Result:
While this is good for getting a sense of how many lines of interest
there are, and patterns among them, the highlighting is ephemeral: it
will go away as soon as one closes the file, searches on another
string, or clears it with “:noh”. So, the highlighting not conveniently
available to anyone with whom one may share the file.
d. To highlight lines persistently in a format that is widely usable, one may use M.S.
Excel.
To do this, one would use the Visual Basic editor that comes with every M.S. Office
application.
Expected Result:
The “Developer” tab should now show in the Excel window menubar.
vi. Click the “Visual Basic” button. Expected Result: A “Microsoft Visual
Basic” window should be fronted. One’s result may vary a bit, as the
first time I did this on the Mac, I could not get the window to come to
the front of any visible viewport. I saved the Excel “book” where I had
ordered the data on the time column, then saved the macro earlier.
Then I killed Excel completely, then reopened it. I had to re-execute
the steps i - vi.
vii. Once the “Microsoft Visual Basic” editor is displayed, find the
modules. There should a folder in the left-nav panel, called Modules,
and in it, any macros one may have recorded should be listed as
Module1, Module2, etc.
viii. Right click the Modules folder, choose “Insert”, thence choose
“Module”.
Expected Result:
ix. At this point, here is what I wrote in the code window. It worked for
me:
Sub Highlight1()
Dim x As Integer
Dim testPos As Integer
Dim testPos2 As Integer
Application.ScreenUpdating = False
' Set numrows = number of rows of data.
NumRows = Range("A1",
Range("A1").End(xlDown)).Rows.Count
' Select the top cell of the column into which we put
the log file name. .
Range("C1").Select
' Establish "For" loop to loop "numrows" number of
times.
For x = 1 To NumRows
' Here to "next" is our code to highlight.
testPos = InStr(1, Selection.Value, "pi_rest", 1)
If Not testPos = 0 Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
ActiveCell.Offset(0, 2).Select
testPos2 = InStr(1, Selection.Value, "[REST", 1)
If Not testPos2 = 0 Then
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
' Selects cell down 1 row from active cell.
ActiveCell.Offset(1, 0).Select
Next
Application.ScreenUpdating = True
End Sub
x. Save (click the floppy disk image) and run the function (click the blue
triangle). Give the Visual Basic function time to run. Eventually .…
Expected Result:
Technical Support
866. 796-6218 8:00 AM-8:00 PM EST
Email: support@centricsoftware.com