Create or Update Type Definitions from an Archive

post/definitions
Internal-Use Only

Create Type Definitions from the given content.

Request Samples

1

Response Samples

1{
2 "attributeTypeDefinitions": [
3 {
4 "creationTimeStamp": "2021-01-19T00:00:00Z",
5 "modifiedTimeStamp": "2023-05-10T00:00:00Z",
6 "id": "9e771b12-ace3-4b8a-bce0-b7d99852a213",
7 "links": [
8 {
9 "method": "GET",
10 "rel": "self",
11 "href": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
12 "uri": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
13 "type": "application/vnd.sas.metadata.definition.attribute"
14 },
15 {
16 "method": "GET",
17 "rel": "alternate",
18 "href": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
19 "uri": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
20 "type": "application/vnd.sas.metadata.definition.summary"
21 },
22 {
23 "method": "PUT",
24 "rel": "update",
25 "href": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
26 "uri": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
27 "type": "application/vnd.sas.metadata.definition.attribute",
28 "responseType": "application/vnd.sas.metadata.definition.attribute"
29 },
30 {
31 "method": "DELETE",
32 "rel": "delete",
33 "href": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213",
34 "uri": "/catalog/definitions/9e771b12-ace3-4b8a-bce0-b7d99852a213"
35 },
36 {
37 "method": "GET",
38 "rel": "up",
39 "href": "/catalog/definitions",
40 "uri": "/catalog/definitions",
41 "type": "application/vnd.sas.collection",
42 "itemType": "application/vnd.sas.metadata.definition.summary"
43 }
44 ],
45 "version": 2,
46 "definitionType": "attribute",
47 "name": "string",
48 "label": "String",
49 "description": "Attribute type to represent string values",
50 "attributeDefinitions": {
51 "format": {
52 "name": "format",
53 "label": "Format",
54 "description": "The format type of the string value in use cases where defined.",
55 "type": "primitive_string"
56 },
57 "pattern": {
58 "name": "pattern",
59 "label": "Pattern",
60 "description": "The regular expression format of the string value in use cases where defined.",
61 "type": "primitive_string"
62 },
63 "maxLength": {
64 "name": "maxLength",
65 "label": "Maximum Length",
66 "description": "The required maximum length of the string value in use cases where defined.",
67 "type": "primitive_integer"
68 },
69 "minLength": {
70 "name": "minLength",
71 "label": "Minimum Length",
72 "description": "The required minimum length of the string value in use cases where defined.",
73 "type": "primitive_integer"
74 }
75 },
76 "attributeKind": "PRIMITIVE"
77 }
78 ],
79 "entityTypeDefinitions": [
80 {
81 "creationTimeStamp": "2021-01-19T00:00:00Z",
82 "modifiedTimeStamp": "2023-05-10T00:00:00Z",
83 "id": "de367483-2d27-4ad9-be56-31043dae8525",
84 "links": [
85 {
86 "method": "GET",
87 "rel": "self",
88 "href": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
89 "uri": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
90 "type": "application/vnd.sas.metadata.definition.entity"
91 },
92 {
93 "method": "GET",
94 "rel": "alternate",
95 "href": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
96 "uri": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
97 "type": "application/vnd.sas.metadata.definition.summary"
98 },
99 {
100 "method": "PUT",
101 "rel": "update",
102 "href": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
103 "uri": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
104 "type": "application/vnd.sas.metadata.definition.entity",
105 "responseType": "application/vnd.sas.metadata.definition.entity"
106 },
107 {
108 "method": "DELETE",
109 "rel": "delete",
110 "href": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525",
111 "uri": "/catalog/definitions/de367483-2d27-4ad9-be56-31043dae8525"
112 },
113 {
114 "method": "GET",
115 "rel": "up",
116 "href": "/catalog/definitions",
117 "uri": "/catalog/definitions",
118 "type": "application/vnd.sas.collection",
119 "itemType": "application/vnd.sas.metadata.definition.summary"
120 }
121 ],
122 "version": 2,
123 "definitionType": "entity",
124 "name": "asset",
125 "label": "Asset",
126 "description": "The asset object all metadata objects inherit from.",
127 "attributeDefinitions": {
128 "format": {
129 "name": "format",
130 "label": "Format",
131 "description": "The format type of the string value in use cases where defined.",
132 "type": "primitive_string"
133 },
134 "pattern": {
135 "name": "pattern",
136 "label": "Pattern",
137 "description": "The regular expression format of the string value in use cases where defined.",
138 "type": "primitive_string"
139 },
140 "maxLength": {
141 "name": "maxLength",
142 "label": "Maximum Length",
143 "description": "The required maximum length of the string value in use cases where defined.",
144 "type": "primitive_integer"
145 },
146 "minLength": {
147 "name": "minLength",
148 "label": "Minimum Length",
149 "description": "The required minimum length of the string value in use cases where defined.",
150 "type": "primitive_integer"
151 }
152 },
153 "baseType": "base",
154 "platformTypeName": "asset"
155 }
156 ],
157 "classificationTypeDefinitions": [
158 {
159 "creationTimeStamp": "2021-01-19T00:00:00Z",
160 "modifiedTimeStamp": "2023-05-10T00:00:00Z",
161 "id": "7f2d115f-6713-4c71-8fea-08beefb34dbb",
162 "links": [
163 {
164 "method": "GET",
165 "rel": "self",
166 "href": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
167 "uri": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
168 "type": "application/vnd.sas.metadata.definition.classification"
169 },
170 {
171 "method": "GET",
172 "rel": "alternate",
173 "href": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
174 "uri": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
175 "type": "application/vnd.sas.metadata.definition.summary"
176 },
177 {
178 "method": "PUT",
179 "rel": "update",
180 "href": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
181 "uri": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
182 "type": "application/vnd.sas.metadata.definition.classification",
183 "responseType": "application/vnd.sas.metadata.definition.classification"
184 },
185 {
186 "method": "DELETE",
187 "rel": "delete",
188 "href": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb",
189 "uri": "/catalog/definitions/7f2d115f-6713-4c71-8fea-08beefb34dbb"
190 },
191 {
192 "method": "GET",
193 "rel": "up",
194 "href": "/catalog/definitions",
195 "uri": "/catalog/definitions",
196 "type": "application/vnd.sas.collection",
197 "itemType": "application/vnd.sas.metadata.definition.summary"
198 }
199 ],
200 "version": 2,
201 "definitionType": "classification",
202 "name": "retention",
203 "label": "Retention",
204 "description": "Defines the retention requirements for related data items.",
205 "attributeDefinitions": {
206 "format": {
207 "name": "format",
208 "label": "Format",
209 "description": "The format type of the string value in use cases where defined.",
210 "type": "primitive_string"
211 },
212 "pattern": {
213 "name": "pattern",
214 "label": "Pattern",
215 "description": "The regular expression format of the string value in use cases where defined.",
216 "type": "primitive_string"
217 },
218 "maxLength": {
219 "name": "maxLength",
220 "label": "Maximum Length",
221 "description": "The required maximum length of the string value in use cases where defined.",
222 "type": "primitive_integer"
223 },
224 "minLength": {
225 "name": "minLength",
226 "label": "Minimum Length",
227 "description": "The required minimum length of the string value in use cases where defined.",
228 "type": "primitive_integer"
229 }
230 }
231 }
232 ],
233 "relationshipTypeDefinitions": [
234 {
235 "creationTimeStamp": "2021-01-19T00:00:00Z",
236 "modifiedTimeStamp": "2023-05-10T00:00:00Z",
237 "id": "55212128-3647-472a-9fd0-dc19d9731c19",
238 "links": [
239 {
240 "method": "GET",
241 "rel": "self",
242 "href": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
243 "uri": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
244 "type": "application/vnd.sas.metadata.definition.relationship"
245 },
246 {
247 "method": "GET",
248 "rel": "alternate",
249 "href": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
250 "uri": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
251 "type": "application/vnd.sas.metadata.definition.summary"
252 },
253 {
254 "method": "PUT",
255 "rel": "update",
256 "href": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
257 "uri": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
258 "type": "application/vnd.sas.metadata.definition.relationship",
259 "responseType": "application/vnd.sas.metadata.definition.relationship"
260 },
261 {
262 "method": "DELETE",
263 "rel": "delete",
264 "href": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19",
265 "uri": "/catalog/definitions/55212128-3647-472a-9fd0-dc19d9731c19"
266 },
267 {
268 "method": "GET",
269 "rel": "up",
270 "href": "/catalog/definitions",
271 "uri": "/catalog/definitions",
272 "type": "application/vnd.sas.collection",
273 "itemType": "application/vnd.sas.metadata.definition.summary"
274 }
275 ],
276 "version": 2,
277 "definitionType": "relationship",
278 "name": "relatedObjects",
279 "label": "Entity to related entity",
280 "description": "Entity to a related entity without specific relationship knowledge.",
281 "attributeDefinitions": {
282 "format": {
283 "name": "format",
284 "label": "Format",
285 "description": "The format type of the string value in use cases where defined.",
286 "type": "primitive_string"
287 },
288 "pattern": {
289 "name": "pattern",
290 "label": "Pattern",
291 "description": "The regular expression format of the string value in use cases where defined.",
292 "type": "primitive_string"
293 },
294 "maxLength": {
295 "name": "maxLength",
296 "label": "Maximum Length",
297 "description": "The required maximum length of the string value in use cases where defined.",
298 "type": "primitive_integer"
299 },
300 "minLength": {
301 "name": "minLength",
302 "label": "Minimum Length",
303 "description": "The required minimum length of the string value in use cases where defined.",
304 "type": "primitive_integer"
305 }
306 },
307 "category": "ASSOCIATION",
308 "role": "Associated",
309 "cardinality": "MANY_TO_MANY",
310 "endpointDefinition1": {
311 "name": "associatedEntities",
312 "label": "Associated Entities",
313 "description": "Entities related to this entity.",
314 "elementType": "base",
315 "container": false
316 },
317 "endpointDefinition2": {
318 "name": "relatedEntities",
319 "label": "Related entities",
320 "description": "Entities to which this entity is related.",
321 "elementType": "base",
322 "container": false
323 }
324 }
325 ],
326 "version": 2
327}

Query Parameters

NameTypeRequiredDescription
onConflict
string
false

Specifies how to handle definitions in the body with ids that already exist. If 'update' is specified, those definitions are updated. Otherwise, those definitions are not updated and a 409 Conflict error is returned for each one.

Allowed values:
updateignore
Default:
ignore
preserveModifiedTimeStamps
boolean
false

Specifies how to handle definitions in the body with modifiedTimeStamp attributes. If true the modifiedTimeStamp will be preserved and the modifiedTimeStamp will be used in place of the If-Unmodified-Since header when updating an existing definition. If false, then the modifiedTimeStamp will be updated at the time of modification.

Header Parameters

NameTypeRequiredDescription
Accept
string
false

The desired item representation for the response. The default is application/vnd.sas.metadata.definition.archive+json

Allowed value:
application/vnd.sas.metadata.definition.archive+json
Default:
application/vnd.sas.metadata.definition.archive+json
If-Unmodified-Since
string
false

The time after which any definitions updated by this call cannot have been updated; a 412 (Precondition Failed) error will be returned for each definition that has been modified after this time. The value must use the RFC 1123 time format (e.g. Fri, 01 Jan 1960 00:00:00 GMT); if an invalid value is specified, a 400 (Bad Request) error will be returned for each definition that already exists. This value is required if the call wil update any existing definitions, and ignored if the call will only create new definitions; if this value is omitted, a 428 (Precondition Required) error will be returned for each definition that already exists.

Request Body

Type Definition Archive provides a structure containing the Attribute, Classification, Entity, and Relationship Type Definitions in the Catalog. This is typically used if the entire model is needed, or as an export format.

NameTypeRequiredDescription
attributeTypeDefinitions
array
false

A list of the Attribute Type Definitions in the Catalog

classificationTypeDefinitions
array
false

A list of the Classification Type Definitions in the Catalog

entityTypeDefinitions
array
false

A list of the Entity Type Definitions in the Catalog

relationshipTypeDefinitions
array
false

A list of the Relationship Type Definitions in the Catalog

Responses

StatusMeaningDescription
200OKThe request succeeded, and the content contained no definitions or at least one definition was created or updated successfully. If at least one operation succeeded, errors for individual definitions are returned in the response body and do not result in an error status for the whole response. HeadersSchema
400Bad RequestBad request; either the request is not well-formed, or all individual operations failed. In the latter case, the response body is an object containing the errors as described above for a successful request; the response code is 400 if all operation status codes are not the same, or the shared status code if they are the same. Schema
401UnauthorizedNot authenticated.Schema
403ForbiddenThe user does not have permission to complete this request.Schema
404Not FoundThe specified resource was not found.Schema
406Not AcceptableNot Acceptable. Include an Accept header with a supported value on the request.Schema
409ConflictA conflict has occurred.Schema
415Unsupported Media TypeUnsupported Media Type. Include a Content-Type header with a supported value in the request.Schema
500Internal Server ErrorThe Catalog service encountered an error.Schema