The Bizzdesign Open API is available in Horizzon. The Open API can be used for the following: 

Data enrichment

Data enrichment enables you to enrich your model data with sets of object attributes (data blocks) of which the values can be edited in Horizzon. These sets of attributes are defined in shared model packages in Enterprise Studio, in data block definitions. Instead of or in addition to manually doing this, the Open API can be used. The API allows an authorized client application to directly create, modify and delete data block definitions and edit data block values. Data enrichment can be used for all metamodels.

Model data enrichment using data blocks

Architecture automation

Architecture automation supports including externally stored and managed objects and relations in shared model packages. The Bizzdesign Open API allows an authorized client application to add collections of entities and links from an external source, and incorporate them seamlessly in a model package in Enterprise Studio. In the Open API you can specify for which model packages the external data should be available. After that, the data will automatically be available in these model packages when they are opened. Including external data can only be used in the context of ArchiMate® modeling.

Including external data in model packages

Data policies

Data policies are used to define rules for maintaining the content of data blocks. Contributor users and groups can be assigned as editors for data blocks. Optionally, update schedules can be configured for data blocks, which will generate periodic data tasks prompting editors to maintain that data block. The open API can be used for managing data policies. This includes assigning editors to data blocks and setting up update schedules for data blocks. Consumer users and groups can be assigned as reader for data blocks, making data blocks readable to a selected group of users.

Setting up data policies for data blocks

Audit event logging

Important events in Horizzon are logged and stored for easy retrieval and inspection. These include system events, external events, and user-generated events. The Open API can be used to access the Horizzon events audit log information.

Horizzon audit log

Required roles

Administrator or System Administrator


On this page:


Creating a named API client

To be able to use the Bizzdesign open API, one or more named API clients must be created in Horizzon. Every API client has a unique identifier (the Client ID) and an associated secret key that can be used to request access tokens to authenticate with the API. Different types of permissions can be set per API client to determine the type of access to the data.

Creating a named API client for the Bizzdesign Open API

Adding IP allowlists

To further limit access to the Bizzdesign Open API, you can add a range of IP addresses for which access to the Open API is allowed. This is optional.

  1. In the Horizzon sidebar menu, click Settings.

  2. In Open API allowlist, select Limit access to Open API.

  3. In Allowed IP4v and/or IPv6 ranges, specify the IP ranges.

    Any IP address that does not belong to the specified ranges will be rejected. You can add the ranges in one of both fields, depending on your preference. To add multiple ranges in a field, add them separated by a comma. There is no need to add the same range(s) to both fields, but you can of course use both fields to specify different ranges. The IP ranges must be in CIDR notation. Examples:

    IPv4: 147.88.135.144/28, 148.77.135.144/22, .....
    IPv6: 2001:db8::/123, 2002::1234:abcd:ffff:c0a8:101/64, .....



  4. Click Apply to save the changes.

Requesting an API access token

The generated API client credentials can be used to create a temporary access token to authenticate your API calls. For authentication OAuth 2 is used, a modern standard for securing access to APIs. The token is created by sending a POST request to a URL with the parameters shown below. The URL you need to use for requesting the access token depends on the domain setup your environment currently is using.

2-domain setup, use :

https://<orgname>.bizzdesign.cloud/oauth/token 

1-domain setup, use :

https://<orgname>.horizzon.cloud/oauth/token 


If you are not sure which domain setup you are currently using, you can check this by entering the following URL in your web browser:

https://<orgname>.horizzon.cloud/info

If serverUri and htmlUri have different URLs, you are using the 2-domain setup. If the URL is identical for both, you are using the 1-domain setup. Example of using the 2-domain setup:


Parameters:

KeyValue
grant_typeclient_credentials
client_id<generated Client ID>
client_secret<generated secret>


The hostname for requesting API access tokens is the same hostname used in the Enterprise Studio clients


These parameters can either be set as query parameters in the URL or in the body using x-www-form-url encoded data. Possible return values are:


Response codeBodyDescription
200Access token in RFC 7519 format (JWT)Relevant attributes are access_token (which contains the token used to authenticate to the API) and expires_in (lifetime of the access token, in seconds). The access token uses the JSON Web Token format defined in RFC 7519. 
400JSON-formatted error messageInvalid request
401emptyThe combination of client_id and client_secret is invalid
403emptyYour current license level does not cover use of the Open API


Below is a simple example using Curl, assuming your Horizzon environment is normally accessed via

https://<orgname>.horizzon.cloud/ 

and you are using the 1-domain setup.

Windows
curl -X POST -H "Content-Type: application/x-www-form-urlencoded"
--data-urlencode "grant_type=client_credentials"
--data-urlencode "client_id=CustomerClientID"
--data-urlencode "client_secret=CustomerClientSecret"
https://<orgname>.horizzon.cloud/oauth/token
Linux
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=CustomerClientID' \
--data-urlencode 'client_secret=CustomerClientSecret' \
https://<orgname>.horizzon.cloud/oauth/token

Submitting requests to the Open API

Once a valid access token is obtained requests can be submitted to the Open API using the following URL:

https://<orgname>.horizzon.cloud/api/<version>/<API-call>


Where <version> represents the API version identifier. It may change with every new version of the Open API.

The identifier associated with the latest Open API version is: 2.0

So, the API is now reachable via  https://<orgname>.horizzon.cloud/api/2.0

The access token is used as a bearer token, which means it should be sent in the Authorization: header, with the value of the header set to "Bearer <tokenvalue>". An example using Curl to request a list of all collaborations in JSON format:

curl -H "Accept: application/json" \
-H "Authorization: Bearer ReplaceThisWithTheBearerTokenRetrievedInThePreviousStep" \
https://<orgname>.horizzon.cloud/api/<version>/collaborations

Finding type names

When using the Bizzdesign Open API for requesting elements, their type names are needed to access the correct information. There are various ways for finding the type name. For more information, please refer to Finding element type names.

Open API documentation

openapi: 3.0.3 info: title: Bizzdesign Open API - 2 description: |2- <small>Please note that this document refers to <i>data blocks</i> which is the new term for what was previously referred to as <i>documents</i>.</small><p>Bizzdesign Enterprise Studio allows invited users to collaboratively model architectural structural objects, store these on Horizzon, and publish them to selected user groups.<br><br> Part of this collaborative process is managing a set of properties for each modeled object. Property values are assigned in Enterprise Studio, and stored with the object on Horizzon. Horizzon will display their values with the object, but does not allow changing them.</p> <p>This API allows clients to:<ul><li>extend and enrich architectures managed by the Bizzdesign toolset</li> <li>set up data policies to manage the access to and maintenance of data blocks</li> <li>retrieve Horizzon event log information</li></ul></p> <h3><u>Data enrichment</u></h3><p>On top of these read-only properties Horizzon supports additional object attributes of which the values can be edited in Horizzon itself. These attributes are defined in a <i>data block definition</i>, of which instances (aka <i>data blocks</i>) can be attached to architectural structural elements. This API allows an authorized client application to directly create, modify and delete data block definitions and data blocks, enriching the architecture with additional data that is visible and editable in (and only in) Horizzon.</p><h3><u>Architecture automation</u></h3><p>The architecture managed by the Bizzdesign toolset can also be extended with architectural elements that are managed outside of this toolset. This API allows an authorized client application to add <i>collections</i> of <i>entities</i> and <i>links</i> from an external source, and incorporate them seamlessly in an architecture managed in Enterprise Studio. These entities themselves can be assigned additional properties using data enrichment.</p><small>Please note that all calls to this API may be subject to <i>rate limiting</i>, causing them to return a 429 status code ("Too Many Requests"). </small> <h3><u>Data policies</u></h3><p>Data policies are used to define rules for accessing and maintaining the content of a data block. This allows users and groups with the contributor role to be assigned as <i>editors</i> for data blocks as well as users and groups with the consumer role to be assigned as <i>readers</i> for data blocks. Optionally, data blocks can also be assigned an <i>update schedule</i> which will generate periodic <i>data tasks</i> prompting editors to maintain that data block.</p> <h4>Editors and Readers</h4> <p>Users and groups may be assigned as editors for objects and data blocks, which will allow them to edit the content of a data block. Alternatively, users and groups can be assigned as readers which will allow them to only view the content of a data block. This API allows editors and readers to either be assigned for an object or for a specific data block within an object. Editors and readers assigned for an object will be treated as default editors and readers for all the data blocks within the object's scope. Assigning editors and readers for a data block will override any default set at the object level.</p> <h4>Update schedules</h4> <p>A data block may be assigned an update schedule to indicate when and how often the data block should be maintained by its editors. When this is defined, <i>data maintenance</i> workflows will be created within the system and data tasks will be generated to prompt the data block's editors to maintain the data block.</p> <h3><u>Audit event logging</u></h3><p>Important events in Horizzon are logged and stored for easy retrieval and inspection. These include system events, external events, and user-generated events. The Open API can be used to access the Horizzon events audit log information.</p> contact: name: Bizzdesign url: https://bizzdesign.com/ version: 2.0.0 externalDocs: description: Bizzdesign online documentation url: https://support.bizzdesign.com/beskb.open_api servers: - url: /api/2.0 tags: - name: data block definition description: A data block definition describes a group of attributes that can be instantiated (as a data block) and linked to an architectural structural element (e.g. an Enterprise Studio object). - name: data block description: A data block is a group of attribute values that conforms to a data block definition and is linked to an architectural structural element (e.g. an Enterprise Studio object). - name: object description: An object represents an architectural structural element in a model package (i.e. an Enterprise Studio object). - name: collaboration description: A collaboration is a Horizzon entity that allows invited users to collaboratively model architectural structural data stored in a model package or project. - name: repository description: A repository hosts a model package (aka 'master' collaboration) and projects based on this model package (if applicable), and also collections if available. These collections are available in each model package and associated projects. - name: collection description: A collection contains entities and links.<br>These paths use external IDs (Strings) to identify collections, entities and links. - name: container description: A container is a subdivision of a collection, and contains entities belonging to a certain domain, and links. The number of elements a container can hold is limited to 5000.<br>These paths use external IDs (Strings) to identify collections, entities and links. - name: entity description: An entity represents a structural element.<br>These paths use external IDs (Strings) to identify collections, entities and links. - name: link description: A link represents a relationship between two entities (or an entity and an object). The number of links that may be attached to an entity is limited to 500.<br> These paths use external IDs (Strings) to identify collections, entities and links. - name: entity data block description: An entity data block is like a data block, but linked to an architectural entity that is managed outside of Enterprise Studio.<br>These paths use external IDs (Strings) to identify collections, entities and links. - name: link data block description: A link data block is like a data block, but linked to an architectural link that is managed outside of Enterprise Studio.<br>These paths use external IDs (Strings) to identify collections, entities and links. - name: bulk description: Creating/updating/deleting multiple entities or links at once. - name: editor description: Editors are users or groups that are allowed to view and edit particular data blocks. Editors can either be defined for an object, or directly for a data block. If editors are defined for an object, then these will be treated as default editors which will be inherited by all data blocks within the object. If editors are set up for a specific data block within an object, then this will override any default editors set at the object level for that data block.<p><i>(Please note that by default only a maximum combination of 8 users and groups may be assigned as editors within a data policy. If this limit is exceeded a 400 "Bad Request" status code will be returned.)</i></p> - name: reader description: Readers are users or groups that are allowed to view particular data blocks. Readers can either be defined for an object, or directly for a data block. If readers are defined for an object, then these will be treated as default readers which will be inherited by all data blocks within the object. If readers are set up for a specific data block within an object, then this will override any default readers set at the object level for that data block.<p><i>(Please note that by default only a maximum combination of 8 users and groups may be assigned as readers within a data policy. If this limit is exceeded a 400 "Bad Request" status code will be returned.)</i></p> - name: data update schedule description: A data update schedule defines when and how often data blocks should be updated. A start date and a repeat pattern is specified for a given data block. Once created, data tasks will be created and assigned to all editors of the given data block. <p><i>(Please note that depending on the system configuration that there may be a maximum limit to the amount of update schedules that can be stored. If such a limit is exceeded a 403 "Forbidden" status code will be returned detailing the exact limit.) </i></p> - name: audit event description: A log of important events that have occurred in Horizzon. Audit events can be retrieved when a client has admin permissions. paths: /collaborations: get: tags: - collaboration summary: Retrieve all collaborations description: Retrieve a list of all available collaborations. operationId: getCollaborations responses: 200: description: The request was successful. The response body contains a JSON array of collaborations. This array might be empty. content: application/json: schema: type: array items: $ref: '#/components/schemas/Collaboration' 401: $ref: '#/components/responses/401' /objects: get: tags: - object summary: Retrieve all objects of a specified type description: Retrieve a list of all Enterprise Studio objects of a certain type, located in the collaboration specified. operationId: getObjects parameters: - $ref: '#/components/parameters/CollaborationLongId' - name: modelId in: query description: A UUID that identifies a parent model (cannot be combined with layerId). schema: type: string example: '1b65946f-461f-eb11-82d0-066d32674111' - name: layerId in: query description: A UUID that identifies a parent scheme (cannot be combined with modelId). schema: type: string example: '3a65946f-461f-eb11-82d0-066d32674111' - name: type in: query description: The type of the objects to retrieve (e.g. 'ArchiMate:ApplicationComponent'). required: true schema: type: string example: 'ArchiMate:ApplicationComponent' - name: updatedAfter in: query description: A date/time in ISO format (e.g. '2020-03-21T16:49:31.427Z'). Only objects that were updated after this moment are returned. Please note that an object is considered updated when either the object itself, or any of its associated data blocks was updated. schema: type: string example: '2020-03-21T16:49:31.427Z' - name: includeMetrics in: query description: When true, the values for metrics of the returned objects will be included in the response. schema: type: boolean default: false - name: includeProfiles in: query description: When true, the values for profiles of the returned objects will be included in the response. schema: type: boolean default: false - name: includeExternalIds in: query description: When true, the external ids of the returned objects will be included in the response. schema: type: boolean default: false - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body is a JSON object, containing an array of objects (and some additional data). This array might be empty. Note that although data blocks associated with an object can be requested separately, they are returned also in this response. The 'updatedAtAggregated' timestamp differs from 'updatedAt' in that it contains the most recent timestamp from either the object or one of its data blocks (and as such is used when filtering using the 'updatedAfter' parameter). content: application/json: schema: $ref: '#/components/schemas/Objects' 401: $ref: '#/components/responses/401' /objects/{objectId}/{namespace}/{name}: get: tags: - data block summary: Retrieve a data block attached to an object description: Retrieve a data block attached to an architectural structural object (i.e. an Enterprise Studio object) operationId: getObjectDataBlock parameters: - $ref: '#/components/parameters/CollaborationLongId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body contains the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /schemas: get: tags: - data block definition summary: Get all data block definitions description: Retrieve a list of all available data block definitions. operationId: getDataBlockDefinitions responses: 200: description: The request was successful. The response body is a JSON object containing an array of data block definitions. This array might be empty. content: application/json: schema: $ref: '#/components/schemas/VersionedDataBlockDefinitions' 401: $ref: '#/components/responses/401' post: tags: - data block definition summary: Submit (a new version of) a data block definition description: When a data block definition with this namespace and name does not yet exist, it is added. When the data block definition already exists, this new definition will override the current version.<br><br>Existing data blocks using the previous definition will keep using this definition until written again, at which moment the new definition will be applied. operationId: postDataBlockDefinition requestBody: description: The JSON contents of the new data block definition content: application/json: schema: $ref: '#/components/schemas/VersionedDataBlockDefinition' required: false responses: 200: description: The request was successful. The response body contains the data block definition that was uploaded, complemented with some additional operational data (like a creation timestamp). content: application/json: schema: $ref: '#/components/schemas/VersionedDataBlockDefinition' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: schema /relations: get: tags: - object summary: Get all relations of a specified type description: Retrieve a list of all Enterprise Studio relations of a certain type, located in the collaboration specified. operationId: getRelations parameters: - $ref: '#/components/parameters/CollaborationLongId' - name: relationType in: query description: The type of the relations to retrieve. schema: type: string example: 'ArchiMate:FlowRelation' - name: fromType in: query description: The type of object these relations must start on. schema: type: string example: 'ArchiMate:ApplicationComponent' - name: toType in: query description: The type of object these relations must end on. schema: type: string example: 'ArchiMate:ApplicationComponent' - name: relationId in: query description: The UUID of the relation to retrieve. schema: type: string example: 'd04ef79e-5ea4-ec11-8974-60a5e23ae246' - name: fromId in: query description: The UUID of the object these relations must start on. schema: type: string example: 'f4a07f7c-461f-eb11-82d0-066d32674111' - name: toId in: query description: The UUID of the object these relations must end on. schema: type: string example: 'e298fd5f-bd5c-ec11-b2ff-a4ed433005b7' - name: includeExternalIds in: query description: When true, the external ids of the returned relations will be included in the response. schema: type: boolean default: false - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body is a JSON object, containing an array of relations. This array might be empty. content: application/json: schema: type: array items: $ref: '#/components/schemas/RelationInfos' 401: $ref: '#/components/responses/401' /schemas/{namespace}/{name}: get: tags: - data block definition summary: Get data block definition with name description: Retrieve the data block definition with the specified namespace and name. operationId: getDataBlockDefinitionWithName parameters: - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body contains a JSON object representing the data block definition definition. content: application/json: schema: $ref: '#/components/schemas/VersionedDataBlockDefinition' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' delete: tags: - data block definition summary: Delete data block definition with name description: Delete the data block definition with the specified namespace and name.<br><br><b>Please note that this will also remove all data blocks that use this data block definition!</b> operationId: deleteDataBlockDefinitionWithName parameters: - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /documents: post: tags: - data block summary: Create a new data block description: Create a new data block and associate it with an Enterprise Studio object. operationId: postDataBlock requestBody: description: The JSON contents of the new data block content: application/json: schema: $ref: '#/components/schemas/DataBlockCreate' required: false responses: 200: description: The request was successful. The response body contains the JSON data block that was uploaded, complemented with the data block's ID. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 409: description: The request failed because the object already has a data block for the specified data block definition. The response body contains a JSON object specifying the Horizzon Server error number 'H_409' and a URL to the associated online help page. content: {} x-codegen-request-body-name: document /documents/{id}: get: tags: - data block summary: Get an existing data block description: Retrieve the data block with the specified ID.<br><br>The values returned will adhere to the data block definition associated with this data block the moment they were written, even if a new version of this data block definition has been uploaded since then.<br>Note that when this data block needs to be written again, its contents must use the latest data block definition version. operationId: getDataBlock parameters: - $ref: '#/components/parameters/DataBlockId' responses: 200: description: The request was successful. The response body contains the current JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - data block summary: Replace an existing data block description: Replace an existing data block associated with an Enterprise Studio object.<br><br>If the associated data block definition has been updated since the last time this data block was written, this latest data block definition version will be applied. operationId: putDataBlock parameters: - $ref: '#/components/parameters/DataBlockId' requestBody: description: The new JSON contents of the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: document delete: tags: - data block summary: Delete an existing data block description: Delete the data block with the specified ID. operationId: deleteDataBlock parameters: - $ref: '#/components/parameters/DataBlockId' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' patch: tags: - data block summary: Update an existing data block description: Replace a subset of values in an existing data block.<br><br>If the associated data block definition has been updated since the last time this data block was written, this latest data block definition version will be applied. operationId: patchDataBlock parameters: - $ref: '#/components/parameters/DataBlockId' requestBody: description: The new JSON contents of the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. The response body contains the (updated) current JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: document /repositories: get: tags: - repository summary: Retrieve all repositories description: Retrieve all repositories operationId: getRepositories responses: 200: description: The request was successful. The response body contains the repositories. content: application/json: schema: $ref: '#/components/schemas/Repositories' 401: $ref: '#/components/responses/401' /repositories/{repositoryId}/collections: get: tags: - collection summary: Retrieve all collections in the repository description: Retrieve all collections in the repository operationId: getCollections parameters: - $ref: '#/components/parameters/RepositoryId' responses: 200: description: The request was successful. The response body contains the collections. content: application/json: schema: $ref: '#/components/schemas/Collections' 401: $ref: '#/components/responses/401' post: tags: - collection summary: Create a new collection in the repository description: Create a new collection in the repository operationId: postCollection parameters: - $ref: '#/components/parameters/RepositoryId' requestBody: description: The JSON contents of the new collection content: application/json: schema: $ref: '#/components/schemas/CollectionCreate' required: false responses: 200: description: The request was successful. The response body contains the collection that was uploaded. content: application/json: schema: $ref: '#/components/schemas/Collection' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: collection /repositories/{repositoryId}/collections/{collectionId}: get: tags: - collection summary: Retrieve a collection from the repository description: Retrieve a collection from the repository operationId: getCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' responses: 200: description: The request was successful. The response body contains the collection. content: application/json: schema: $ref: '#/components/schemas/Collection' 401: $ref: '#/components/responses/401' put: tags: - collection summary: Update (the name of) a collection description: Update (the name of) a collection operationId: updateCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The values to update (only the name). When omitted, the value will be cleared. If the values are equal to the ones already set, the request will succeed without performing an update. content: application/json: schema: $ref: '#/components/schemas/CollectionUpdate' required: false responses: 200: description: The request was successful. content: {} '401': $ref: '#/components/responses/401' x-codegen-request-body-name: collection delete: tags: - collection summary: Delete a collection from the repository description: Delete a collection from the repository operationId: deleteCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 409: description: The request failed because modeling policies have been defined for the collection. content: {} /repositories/{repositoryId}/collections/{collectionId}/containers: get: tags: - container summary: Retrieve all containers in a collection description: Retrieve all containers in a collection operationId: getContainers parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' responses: 200: description: The request was successful. The response body contains the containers. content: application/json: schema: $ref: '#/components/schemas/Containers' 401: $ref: '#/components/responses/401' post: tags: - container summary: Create a new container in a collection description: Create a new container in a collection operationId: postContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The JSON contents of the new container content: application/json: schema: $ref: '#/components/schemas/ContainerCreate' required: false responses: 201: description: The request was successful. The response body contains the container that was uploaded. content: application/json: schema: $ref: '#/components/schemas/Container' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: container /repositories/{repositoryId}/containers/{containerId}: get: tags: - container summary: Retrieve a container description: Retrieve a container operationId: getContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' responses: 200: description: The request was successful. The response body contains the container. content: application/json: schema: $ref: '#/components/schemas/Container' 401: $ref: '#/components/responses/401' put: tags: - container summary: Update (the name of) a container description: Update (the name of) a container operationId: updateContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' requestBody: description: The values to update (only the name). When omitted, the value will be cleared. If the values are equal to the ones already set, the request will succeed without performing an update. content: application/json: schema: $ref: '#/components/schemas/ContainerUpdate' required: false responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' x-codegen-request-body-name: container delete: tags: - container summary: Delete a container description: Delete a container operationId: deleteContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' /repositories/{repositoryId}/collections/{collectionId}/entities/bulk: post: tags: - bulk summary: Create and/or update one or more entities in a collection description: Create and/or update one or more entities in a collection operationId: postEntities parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The JSON contents of the entities to create and/or update. Next to the external ID, the term is also mandatory when creating. When updating, external ID and the field(s) to update are required. When 'containerExternalId' is specified for a new element, it will be created in a container with that ID, unless that has reached its limit of 5000 elements, in which case a new container will be created with a similar ID. If 'containerExternalId' is omitted, the element is added to the default container. If the default container has already reached its limit of 5000 elements, the request will fail. content: application/json: schema: $ref: '#/components/schemas/EntitiesCreateUpdate' required: false responses: 201: description: The request was successful. The response body contains the entities (and data blocks) that were created or updated. content: application/json: schema: $ref: '#/components/schemas/EntitiesCreateUpdate' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: entities /repositories/{repositoryId}/collections/{collectionId}/entities/bulk/delete: post: tags: - bulk summary: Delete one or more entities from a collection description: Delete one or more entities from a collection. If a specified ID does not represent an existing entity, or the entity is not part of the collection, it is ignored. Any links attached to a deleted entity are deleted also. operationId: deleteEntities parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: A JSON array with the external IDs of the entities to delete. content: application/json: schema: $ref: '#/components/schemas/ExternalIds' required: false responses: 204: description: The request was successful. 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: externalids /repositories/{repositoryId}/collections/{collectionId}/entities: get: tags: - entity summary: Retrieve all entities in a collection description: Retrieve all entities in a collection operationId: getEntitiesInCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body contains the entities. content: application/json: schema: $ref: '#/components/schemas/Entities' 401: $ref: '#/components/responses/401' post: tags: - entity summary: Create an entity in a collection description: Create an entity in a collection operationId: createEntityInCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The JSON contents of the entity to create. When 'containerExternalId' is specified, the element will be created in a container with that ID, unless it has reached its limit of 5000 elements, in which case a new container will be created with a similar ID. If 'containerExternalId' is omitted, the element is added to the default container. If the default container has already reached its limit of 5000 elements, the request will fail. content: application/json: schema: $ref: '#/components/schemas/EntityCreateCollection' required: false responses: 201: description: The request was successful. The response body contains the entity. content: application/json: schema: $ref: '#/components/schemas/Entity' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: entity /repositories/{repositoryId}/containers/{containerId}/entities: get: tags: - entity summary: Retrieve all entities in a container description: Retrieve all entities in a container operationId: getEntitiesInContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body contains the entities. content: application/json: schema: $ref: '#/components/schemas/Entities' 401: $ref: '#/components/responses/401' post: tags: - entity summary: Create an entity in a container description: Create an entity in a container operationId: createEntityInContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' requestBody: description: The JSON contents of the entity to create. If the container has already reached its limit of 5000 elements, the request will fail. content: application/json: schema: $ref: '#/components/schemas/EntityCreate' required: false responses: 201: description: The request was successful. The response body contains the entity. content: application/json: schema: $ref: '#/components/schemas/Entity' '401': $ref: '#/components/responses/401' x-codegen-request-body-name: entity /repositories/{repositoryId}/entities/{entityId}: get: tags: - entity summary: Retrieve an entity description: Retrieve an entity operationId: getEntity parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' responses: 200: description: The request was successful. The response body contains the entity. content: application/json: schema: $ref: '#/components/schemas/Entity' 401: $ref: '#/components/responses/401' put: tags: - entity summary: Update (the name of) an entity description: Update (the name of) an entity operationId: updateEntity parameters: - name: repositoryId in: path description: The number that identifies the repository. required: true schema: type: integer - name: entityId in: path description: The external ID (a String) that identifies the entity. required: true schema: type: string requestBody: description: The values to update (only the name). When omitted, the value will be cleared. If the values are equal to the ones already set, the request will succeed without performing an update. content: application/json: schema: $ref: '#/components/schemas/EntityUpdate' required: false responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' x-codegen-request-body-name: entity delete: tags: - entity summary: Delete an entity description: Delete an entity operationId: deleteEntity parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' /repositories/{repositoryId}/collections/{collectionId}/links/bulk: post: tags: - bulk summary: Create and/or update one or more links in a collection description: Create and/or one or more multiple links in a collection operationId: postLinks parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The JSON contents of the links to create and/or update. Next to the external ID, the term is also mandatory when creating. When updating, external ID and the field(s) to update are required. When 'containerExternalId' is specified for a new element, it will be created in a container with that ID, unless that has reached its limit of 5000 elements, in which case a new container will be created with a similar ID. If 'containerExternalId' is omitted, the element is added to the default container. If the default container has already reached its limit of 5000 elements, the request will fail. If the addition of this link causes either of its end entities to exceed the maximum number of 500 attached links, the request will fail. content: application/json: schema: $ref: '#/components/schemas/LinksCreateUpdate' required: false responses: 200: description: The request was successful. The response body contains the links (and data blocks) that were created or updated. content: application/json: schema: $ref: '#/components/schemas/LinksCreateUpdate' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: links /repositories/{repositoryId}/collections/{collectionId}/links/bulk/delete: post: tags: - bulk summary: Delete one or more links from a collection description: Delete one or more links from a collection. If a specified ID does not represent an existing links, or the link is not part of the collection, it is ignored. Any links attached to a deleted links are deleted also. operationId: deleteLinks parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: A JSON array with the external IDs of the links to delete. content: application/json: schema: $ref: '#/components/schemas/ExternalIds' required: false responses: 204: description: The request was successful. 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: externalids /repositories/{repositoryId}/collections/{collectionId}/links: get: tags: - link summary: Retrieve all links in a collection description: Retrieve all links in a collection operationId: getLinksInCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body contains the links. content: application/json: schema: $ref: '#/components/schemas/Links' 401: $ref: '#/components/responses/401' post: tags: - link summary: Create a link in a collection description: Create a link in a collection operationId: createLinkInCollection parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/CollectionId' requestBody: description: The JSON contents of the link to create. When 'containerExternalId' is specified, the element will be created in a container with that ID, unless it has reached its limit of 5000 elements, in which case a new container will be created with a similar ID. If 'containerExternalId' is omitted, the element is added to the default container. If the default container has already reached its limit of 5000 elements, the request will fail. If the addition of this link causes either of its end elements to exceed the maximum number of 500 attached links, the request will fail.<br> To create a link use 'fromExternalId' or 'toExternalId' to refer to an Entity and 'fromId' or 'toId' to refer to an Object. Note that at least one of the two linked elements must be an entity. content: application/json: schema: $ref: '#/components/schemas/LinkCreateCollection' examples: Entity to Entity link: value: externalId: 'entity-to-entity-link-1' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: 'entity-1' toExternalId: 'entity-2' containerExternalId: 'SNowApps' Entity to Object link: value: externalId: 'entity-to-object-link-2' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: 'entity-1' toId: 'c7dc1184-d9d0-4253-ba30-7f351e0f60eb' containerExternalId: 'SNowApps' Object to Entity link: value: externalId: 'object-to-entity-link-3' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromId: 'd2ca09f5-4e97-45e5-9754-3ac89d8d10f3' toExternalId: 'entity-1' containerExternalId: 'SNowApps' required: false responses: 201: description: The request was successful. The response body contains the link. content: application/json: schema: $ref: '#/components/schemas/Link' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: link /repositories/{repositoryId}/containers/{containerId}/links: get: tags: - link summary: Retrieve all links in a container description: Retrieve all links in a container operationId: getLinksInContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: 200: description: The request was successful. The response body contains the links. content: application/json: schema: $ref: '#/components/schemas/Links' 401: $ref: '#/components/responses/401' post: tags: - link summary: Create a link in a container description: Create a link in a container operationId: createLinkInContainer parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/ContainerId' requestBody: description: The JSON contents of the link to create. If the container has already reached its limit of 5000 elements, the request will fail. If the addition of this link causes either of its end elements to exceed the maximum number of 500 attached links, the request will fail.<br> To create a link use 'fromExternalId' or 'toExternalId' to refer to an Entity and 'fromId' or 'toId' to refer to an Object. Note that at least one of the two linked elements must be an entity. content: application/json: schema: $ref: '#/components/schemas/LinkCreate' examples: Entity to Entity link: value: externalId: 'entity-to-entity-link-1' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: 'entity-1' toExternalId: 'entity-2' containerExternalId: 'SNowApps' Entity to Object link: value: externalId: 'entity-to-object-link-2' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: 'entity-1' toId: 'c7dc1184-d9d0-4253-ba30-7f351e0f60eb' containerExternalId: 'SNowApps' Object to Entity link: value: externalId: 'object-to-entity-link-3' term: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromId: 'd2ca09f5-4e97-45e5-9754-3ac89d8d10f3' toExternalId: 'entity-1' required: false responses: 201: description: The request was successful. The response body contains the link. content: application/json: schema: $ref: '#/components/schemas/Link' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: link /repositories/{repositoryId}/links/{linkId}: get: tags: - link summary: Retrieve a link description: Retrieve a link operationId: getLink parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' responses: 200: description: The request was successful. The response body contains the link. content: application/json: schema: $ref: '#/components/schemas/Link' 401: $ref: '#/components/responses/401' put: tags: - link summary: Update (the name of) a link description: Ipdate (the name of) a link operationId: updateLink parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' requestBody: description: The values to update (only the name). When omitted, the value will be cleared. If the values are equal to the ones already set, the request will succeed without performing an update. content: application/json: schema: $ref: '#/components/schemas/LinkUpdate' required: false responses: 200: description: The request was successful. The response body contains the link. content: application/json: schema: $ref: '#/components/schemas/Link' '401': $ref: '#/components/responses/401' x-codegen-request-body-name: link delete: tags: - link summary: Delete a link description: Delete a link operationId: deleteLink parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' /repositories/{repositoryId}/entities/{entityId}/{namespace}/{name}: get: tags: - entity data block summary: Retrieve a data block attached to an entity description: Retrieve a data block attached to an entity operationId: getEntityDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body contains the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - entity data block summary: Replace an existing data block attached to an entity description: Replace an existing data block attached to an entity operationId: putEntityDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The updated JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. The response body contains the updated data block (as it was uploaded). content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document post: tags: - entity data block summary: Create a new data block attached to an entity description: Create a new data block attached to an entity operationId: postEntityDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The JSON contents of the new data block content: application/json: schema: $ref: '#/components/schemas/EntityDataBlockCreate' required: false responses: 200: description: The request was successful. The response body contains the data block that was uploaded, complemented with the data block's ID. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document delete: tags: - entity data block summary: Delete a data block attached to an entity description: Delete a data block attached to an entity operationId: deleteEntityDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' patch: tags: - entity data block summary: Update an existing data block attached to an entity description: Update an existing data block attached to an entity operationId: patchEntityDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/EntityId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The (updated part of the) JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. The response body contains the updated data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document /repositories/{repositoryId}/links/{linkId}/{namespace}/{name}: get: tags: - link data block summary: Retrieve a data block attached to a link description: Retrieve a data block attached to a link operationId: getLinkDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body contains the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - link data block summary: Replace an existing data block attached to a link description: Replace an existing data block attached to a link operationId: putLinkDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The updated JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. The response body contains the updated data block (as it was uploaded). content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document post: tags: - link data block summary: Create a new data block attached to a link description: Create a new data block attached to a link operationId: postLinkDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The JSON contents of the new data block content: application/json: schema: $ref: '#/components/schemas/LinkDataBlockCreate' required: false responses: 200: description: The request was successful. The response body contains the data block that was uploaded, complemented with the data block's ID. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document delete: tags: - link data block summary: Delete a data block attached to a link description: Delete a data block attached to a link operationId: deleteLinkDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' patch: tags: - link data block summary: Update an existing data block attached to a link description: Update an existing data block attached to a link operationId: patchLinkDataBlock parameters: - $ref: '#/components/parameters/RepositoryId' - $ref: '#/components/parameters/LinkId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The (updated part of the) JSON contents of the data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockUpdate' required: false responses: 200: description: The request was successful. The response body contains the updated data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockResult' 401: $ref: '#/components/responses/401' x-codegen-request-body-name: document /collaborations/{collaborationId}/models/{modelId}/types/{type}/datablocks/{namespace}/{name}/policies/editors: get: tags: - editor summary: Retrieve the editors for the specified data block of all objects of the specified type in the model description: Retrieves the users and groups who are assigned as editors for the specified data block of all objects of the specified type in the model. operationId: getModelLevelEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body is a JSON object detailing the users and groups which are assigned as editors for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - editor summary: Assign or update editors for the specified data block of all objects of the specified type in the model description: Assigns or, when editors are already assigned for the data block, updates the users and groups assigned editors for the specified data block of all objects of the specified type in the model. operationId: putModelLevelEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The editors to be assigned to the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' required: true responses: 200: description: The request was successful. The editors for the specified data block of all objects of the specified type in the model have been updated. The response body is a JSON object with the users and groups which have been assigned as editors for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 201: description: The request was successful. The specified data block of all objects of the specified type in the model has been assigned editors. The response body is a JSON object with the users and groups which have been assigned as editors for the for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 400: $ref: '#/components/responses/400editors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: editors post: tags: - editor summary: Assign editors for the specified data block of all objects of the specified type in the model description: Assigns users and groups as editors for the specified data block of all objects of the specified type in the model. operationId: postModelLevelEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The editors to be assigned to the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' required: true responses: 201: description: The request was successful. The specified data block of all objects of the specified type in the model has been assigned editors. The response body is a JSON object with the users and groups which have been assigned as editors for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 400: $ref: '#/components/responses/400editors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: description: The request failed because editors are already defined for the specified data block of all objects of the specified type in the model. content: {} x-codegen-request-body-name: editors delete: tags: - editor summary: Remove all editors for the specified data block of all objects of the specified type in the model description: Clear the users and groups assigned as editors for the specified data block of all objects of the specified type in the model. operationId: deleteModelLevelEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 204: description: The request was successful and editors have been cleared for the specified data block of all objects of the specified type in the model. No content returned in the response body. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /collaborations/{collaborationId}/models/{modelId}/types/{type}/datablocks/{namespace}/{name}/policies/readers: get: tags: - reader summary: Retrieve the readers for the specified data block of all objects of the specified type in the model description: Retrieves the users and groups who are assigned as readers for the specified data block of all objects of the specified type in the model. operationId: getModelLevelReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body is a JSON object detailing the users and groups which are assigned as readers for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - reader summary: Assign or update readers for the specified data block of all objects of the specified type in the model description: Assigns or, when readers are already assigned for the data block, updates the users and groups assigned readers for the specified data block of all objects of the specified type in the model. operationId: putModelLevelReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The readers to be assigned to the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' required: true responses: 200: description: The request was successful. The readers for the specified data block of all objects of the specified type in the model have been updated. The response body is a JSON object with the users and groups which have been assigned as readers for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 201: description: The request was successful. The readers for the specified data block of all objects of the specified type in the model have been assigned readers. The response body is a JSON object with the users and groups which have been assigned as readers for the for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 400: $ref: '#/components/responses/400readers' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: readers post: tags: - reader summary: Assign readers for the specified data block of all objects of the specified type in the model description: Assigns users and groups as readers for the specified data block of all objects of the specified type in the model. operationId: postModelLevelReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The readers to be assigned to the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' required: true responses: 201: description: The request was successful. The specified data block of all objects of the specified type in the model has been assigned readers. The response body is a JSON object with the users and groups which have been assigned as readers for the specified data block of all objects of the specified type in the model. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 400: $ref: '#/components/responses/400readers' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: description: The request failed because readers are already defined for the specified data block of all objects of the specified type in the model. content: {} x-codegen-request-body-name: readers delete: tags: - reader summary: Remove all readers for the specified data block of all objects of the specified type in the model description: Clear the users and groups assigned as readers for the specified data block of all objects of the specified type in the model. operationId: deleteModelLevelReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ModelId' - $ref: '#/components/parameters/ObjectType' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 204: description: The request was successful and readers have been cleared for the specified data block of all objects of the specified type in the model. No content returned in the response body. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /collaborations/{collaborationId}/objects/{objectId}/datablocks/{namespace}/{name}/policies/editors: get: tags: - editor summary: Get the editors for a data block description: Gets the users and groups who are directly assigned as editors of a data block. operationId: getDataBlockEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request successfully found editors for the specified data block. The response body is a JSON object detailing the users and groups which are assigned directly as editors for this data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - editor summary: Assign or update editors for a data block description: Assigns or, when editors are already assigned for the data block, updates the users and groups assigned as editors for the specified data block. operationId: putDataBlockEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The editors to be assigned to the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' required: true responses: 200: description: The request was successful. The default editors for the specified object have been updated. The response body is a JSON object with the users and groups that have been assigned as editors for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 201: description: The request was successful. The specified data block has been assigned default editors. The response body is a JSON object with the users and groups that have been assigned as editors for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 400: $ref: '#/components/responses/400editors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: editors post: tags: - editor summary: Assign editors for a data block description: Assigns users and groups as editors for the specified data block. operationId: postDataBlockEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The editors to be assigned to the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' required: true responses: 201: description: The request was successful. The specified data block has been assigned default editors. The response body is a JSON object with the users and groups that have been assigned as editors for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockEditors' 400: $ref: '#/components/responses/400editors' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: description: The request failed because editors already exist for the specified data block. content: {} x-codegen-request-body-name: editors delete: tags: - editor summary: Remove all editors for a data block description: Clear the users and groups assigned as editors for the specified data block operationId: deleteDataBlockEditors parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 204: description: The request was successful and all editors have been cleared for the specified data block. No content returned in the response body. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /collaborations/{collaborationId}/objects/{objectId}/datablocks/{namespace}/{name}/policies/readers: get: tags: - reader summary: Get the readers for a data block description: Gets the users and groups who are directly assigned as readers of a data block. operationId: getDataBlockReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request successfully found readers for the specified data block. The response body is a JSON object detailing the users and groups which are assigned directly as readers for this data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - reader summary: Assign or update readers for a data block description: Assigns or, when readers are already assigned for the data block, updates the users and groups assigned as readers for the specified data block. operationId: putDataBlockReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The readers to be assigned to the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' required: true responses: 200: description: The request was successful. The default readers for the specified object have been updated. The response body is a JSON object with the users and groups that have been assigned as readers for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 201: description: The request was successful. The specified data block has been assigned default readers. The response body is a JSON object with the users and groups that have been assigned as readers for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 400: $ref: '#/components/responses/400readers' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: readers post: tags: - reader summary: Assign readers for a data block description: Assigns users and groups as readers for the specified data block. operationId: postDataBlockReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The readers to be assigned to the data block content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' required: true responses: 201: description: The request was successful. The specified data block has been assigned default readers. The response body is a JSON object with the users and groups that have been assigned as readers for the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataBlockReaders' 400: $ref: '#/components/responses/400readers' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: description: The request failed because readers already exist for the specified data block. content: {} x-codegen-request-body-name: readers delete: tags: - reader summary: Remove all readers for a data block description: Clear the users and groups assigned as readers for the specified data block operationId: deleteDataBlockReaders parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 204: description: The request was successful and all readers have been cleared for the specified data block. No content returned in the response body. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /collaborations/{collaborationId}/objects/{objectId}/datablocks/{namespace}/{name}/policies/dataupdateschedule: get: tags: - data update schedule summary: Get an update schedule for a data block description: Retrieves the update schedule for the specified data block. This defines when and how often data tasks should be created to prompt editors to update the data within the data block. operationId: getDataUpdateSchedule parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 200: description: The request was successful. The response body is a JSON representation of the update schedule assigned to the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' put: tags: - data update schedule summary: Assign or update an update schedule for a data block description: Assigns or, when an update schedule already exists for the data block, updates the update schedule for the specified data block. This defines when and how often data tasks should be created to prompt editors to update the data within the data block. operationId: putDataUpdateSchedule parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The update schedule to be persisted content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' required: true responses: 200: description: The request was successful. The existing update schedule has been updated for the specified data block. The response body is a JSON representation of the update schedule that has been assigned to the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' 201: description: The request was successful. An update schedule has been assigned to the specified data block. The response body is a JSON representation of the update schedule that has been assigned to the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' x-codegen-request-body-name: dataUpdateSchedule post: tags: - data update schedule summary: Create an update schedule for a data block description: Creates a new update schedule for the specified data block. This defines when and how often data tasks should be created to prompt editors to update the data within the data block. operationId: postDataUpdateSchedule parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' requestBody: description: The update schedule to be persisted content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' required: true responses: 201: description: The request was successful. The response body is a JSON representation of the update schedule assigned to the specified data block. content: application/json: schema: $ref: '#/components/schemas/DataUpdateSchedule' 401: $ref: '#/components/responses/401' 403: description: The request failed because the API client only has read permissions, or because the maximum limit of data update schedules within the system has been exceeded. content: {} 404: $ref: '#/components/responses/404' 409: description: The request failed because an update schedule already exists for the specified data block. content: {} x-codegen-request-body-name: dataUpdateSchedule delete: tags: - data update schedule summary: Remove an update schedule for a data block description: Removes the existing update schedule for the specified data block. This will also remove any data tasks created from the removed update schedule. operationId: deleteDataUpdateSchedule parameters: - $ref: '#/components/parameters/CollaborationId' - $ref: '#/components/parameters/ObjectId' - $ref: '#/components/parameters/DbdNamespace' - $ref: '#/components/parameters/DbdName' responses: 204: description: The request was successful and the update schedule was removed for the specified data block, as well as any related data tasks. No content returned in the response body. content: {} 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' /auditevents: get: tags: - audit event summary: Retrieve audit events description: Retrieve a list of audit events sorted by event id in ascending order. operationId: getAuditEvents parameters: - name: offset in: query description: The zero based offset of the first item in the list to return from the server. schema: type: integer default: 0 - name: limit in: query description: 'Pagination limit: number of rows to return. The maximum is 10000. When omitted, this number defaults to 100.' schema: type: integer default: 100 maximum: 10000 - name: since in: query description: A date/time in ISO format (e.g. '2020-03-21T16:49:31.427Z'). Only events logged since the given moment will be returned, including the since date/time. schema: type: string example: '2020-03-21T16:49:31.427Z' - name: until in: query description: A date/time in ISO format (e.g. '2020-03-21T16:49:31.427Z'). Only events logged until the given moment will be returned, not including the until date/time. schema: type: string example: '2020-03-21T16:49:31.427Z' responses: 200: description: The request was successful. The response body contains a JSON array of audit events. This array might be empty when there are no events for the given parameters. Depending on the name of the event only the properties relevant to the event will have a value. content: application/json: schema: type: array items: $ref: '#/components/schemas/AuditEvent' 401: $ref: '#/components/responses/401' components: schemas: Collaboration: type: object properties: collaborationId: type: string example: 'repositories/171/collaborations/185' name: type: string example: ACME Production description: type: string example: ACME main production model package VersionedDataBlockDefinition: required: - fields - name - namespace - publishedForRepository - schemas - types type: object properties: namespace: type: string example: 'default' name: type: string example: 'applicationinfo' label: type: string example: 'Application information' fields: minItems: 1 type: array items: $ref: '#/components/schemas/Field' schemas: type: array items: $ref: '#/components/schemas/DataBlockDefinition' types: type: array items: type: string example: 'ArchiMate:ApplicationComponent' publishedForRepository: type: integer example: 171 VersionedDataBlockDefinitions: type: object properties: _items: type: array items: $ref: '#/components/schemas/VersionedDataBlockDefinition' _offset: type: integer example: 0 _limit: type: integer example: 500 Field: required: - name - schema type: object properties: name: type: string example: 'totalcost' schema: type: string example: 'money' label: type: string example: 'Total cost' constraints: type: object properties: currency: type: string example: 'EUR' DataBlockDefinition: required: - kind - name type: object properties: kind: type: string enum: - enum - reference name: type: string example: 'verylowtoveryhigh_enum' literals: minItems: 1 type: array items: $ref: '#/components/schemas/EnumLiteral' DataBlockEditors: type: object properties: users: type: array items: type: string example: employee@customer.com groups: type: array items: type: string example: Editor Group DataBlockReaders: type: object properties: users: type: array items: type: string example: employee@customer.com groups: type: array items: type: string example: Reader Group DataUpdateSchedule: type: object properties: startAt: type: string example: 2020-11-30 pattern: type: string example: EVERY_QUARTER enum: - NEVER - EVERY_WEEK - EVERY_TWO_WEEKS - EVERY_MONTH - EVERY_QUARTER - EVERY_HALF_A_YEAR - EVERY_YEAR EnumLiteral: type: object properties: name: type: string label: type: string DataBlockCreate: required: - objectId - schemaName - schemaNamespace - values type: object properties: objectId: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' schemaNamespace: type: string example: 'default' schemaName: type: string example: 'applicationinfo' values: type: object properties: {} example: usercount: 1337 totalcost: currency: 'EUR' amount: 4711 EntityDataBlockCreate: required: - values type: object properties: values: type: object properties: {} example: usercount: 1337 totalcost: currency: 'EUR' amount: 4711 LinkDataBlockCreate: required: - values type: object properties: values: type: object properties: {} example: raci: 'R' DataBlockUpdate: required: - objectId - schemaName - schemaNamespace - values type: object properties: objectId: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' schemaNamespace: type: string example: 'default' schemaName: type: string example: 'applicationinfo' values: type: object properties: {} example: usercount: 1337 totalcost: currency: 'EUR' amount: 4711 DataBlockResult: type: object properties: id: type: string example: 'ee84c805-454c-4aea-87a2-b1509b6658e7' objectId: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' schemaNamespace: type: string example: 'default' schemaName: type: string example: 'applicationinfo' values: type: object properties: {} example: usercount: 1337 totalcost: currency: 'EUR' amount: 4711 updatedAt: type: string example: '2020-11-20T15:07:27.199892Z' Object: type: object properties: id: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' externalId: type: string example: 'Entity-1' type: type: string example: 'ArchiMate:ApplicationComponent' objectName: type: object additionalProperties: type: string example: en: 'Bizzdesign' documents: type: array items: $ref: '#/components/schemas/DataBlockResult' updatedAt: type: string example: '2021-12-14T11:55:41Z' updatedAtAggregated: type: string example: '2022-02-16T15:46:53.269766Z' Objects: type: object properties: _items: type: array items: $ref: '#/components/schemas/Object' _offset: type: integer example: 0 _limit: type: integer example: 500 RelationInfo: required: - fromId - fromType - relationId - relationType - toId - toType type: object properties: relationId: type: string example: 'd04ef79e-5ea4-ec11-8974-60a5e23ae246' externalId: type: string example: 'Link-1' relationType: type: string example: 'ArchiMate:ApplicationComponentApplicationComponentFlow' relationName: type: object additionalProperties: type: string example: en: '' fromId: type: string example: 'f4a07f7c-461f-eb11-82d0-066d32674111' fromExternalId: type: string example: 'Entity-1' fromType: type: string example: 'ArchiMate:ApplicationComponent' fromName: type: object additionalProperties: type: string example: en: 'ServiceNow' toId: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' toExternalId: type: string example: 'Entity-2' toType: type: string example: 'ArchiMate:ApplicationComponent' toName: type: object additionalProperties: type: string example: en: 'Bizzdesign' updatedAt: type: string example: '2020-11-20T15:07:27.199892Z' RelationInfos: type: object properties: _items: type: array items: $ref: '#/components/schemas/RelationInfo' _offset: type: integer example: 0 _limit: type: integer example: 0 Names: type: object additionalProperties: type: string example: en: "Name in English" de: "Name auf deutsch" ExternalIds: type: array items: type: string example: 'Item-1' DataBlock: type: object properties: schemaNamespace: type: string example: 'default' schemaName: type: string example: 'applicationinfo' values: type: object properties: {} example: usercount: 1337 totalcost: currency: 'EUR' amount: 4711 Repository: type: object properties: id: type: integer example: 171 masterCollaborationId: type: integer example: 185 masterCollaborationName: type: string example: ACME Production masterCollaborationDescription: type: string example: ACME main production model package Repositories: type: object properties: _items: type: array items: $ref: '#/components/schemas/Repository' _offset: type: integer example: 0 _limit: type: integer example: 500 CollectionCreate: required: - externalId - term type: object properties: externalId: type: string example: 'ServiceNowData' term: type: string example: 'ArchiMate' name: $ref: '#/components/schemas/Names' CollectionUpdate: type: object properties: name: $ref: '#/components/schemas/Names' Collection: required: - id - term - updatedAt type: object properties: id: type: string example: 'ae995b4b-a98f-4de8-88bf-7edc5b4b9b57' externalId: type: string example: 'ServiceNowData' term: type: string example: 'ArchiMate' name: type: object additionalProperties: type: string example: en: 'ServiceNow data' updatedAt: type: string example: '2022-01-19T15:40:09.616046Z' Collections: type: object properties: _items: type: array items: $ref: '#/components/schemas/Collection' _offset: type: integer example: 0 _limit: type: integer example: 500 ContainerCreate: required: - externalId - term type: object properties: externalId: type: string example: 'SNowApps' term: type: string example: 'ArchiMate:ApplicationScheme' name: $ref: '#/components/schemas/Names' ContainerUpdate: type: object properties: name: $ref: '#/components/schemas/Names' Container: required: - id - term - updatedAt type: object properties: id: type: string example: '28aae5b8-91c1-47ce-8de3-816caeb7289d' externalId: type: string example: 'SNowApps' term: type: string example: 'ArchiMate:ApplicationScheme' name: type: object additionalProperties: type: string example: en: 'ServiceNow applications' updatedAt: type: string example: '2020-11-20T15:07:27.199892Z' Containers: type: object properties: _items: type: array items: $ref: '#/components/schemas/Container' _offset: type: integer example: 0 _limit: type: integer example: 500 EntityCreateUpdate: required: - externalId type: object properties: externalId: type: string example: 'Entity-1' term: type: string example: 'ArchiMate:ApplicationComponent' name: $ref: '#/components/schemas/Names' containerExternalId: type: string example: 'SnowApps' dataBlocks: minItems: 1 type: array items: $ref: '#/components/schemas/DataBlock' EntityCreateCollection: required: - externalId - term type: object properties: externalId: type: string example: 'Entity-1' term: type: string example: 'ArchiMate:ApplicationComponent' name: $ref: '#/components/schemas/Names' containerExternalId: type: string example: 'SnowApps' EntityCreate: required: - externalId - term type: object properties: externalId: type: string example: 'Entity-1' term: type: string example: 'ArchiMate:ApplicationComponent' name: $ref: '#/components/schemas/Names' EntityUpdate: type: object properties: name: $ref: '#/components/schemas/Names' Entity: required: - id - term - updatedAt type: object properties: id: type: string example: 'd2ca09f5-4e97-45e5-9754-3ac89d8d10f3' externalId: type: string example: 'Entity-1' term: type: string example: 'ArchiMate:ApplicationComponent' name: $ref: '#/components/schemas/Names' updatedAt: type: string example: "2022-01-19T15:41:24.897484Z" Entities: type: object properties: _items: type: array items: $ref: '#/components/schemas/Entity' _offset: type: integer example: 0 _limit: type: integer example: 500 EntitiesCreateUpdate: type: object properties: _items: type: array items: $ref: '#/components/schemas/EntityCreateUpdate' _offset: type: integer example: 0 _limit: type: integer example: 500 LinkCreateUpdate: required: - externalId type: object properties: externalId: type: string example: 'Link-1' term: type: string example: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: type: string example: 'Entity-1' toExternalId: type: string example: 'Entity-2' containerExternalId: type: string example: 'SNowApps' dataBlocks: minItems: 1 type: array items: $ref: '#/components/schemas/DataBlock' LinkCreateCollection: required: - externalId - fromExternalId - term - toExternalId type: object properties: externalId: type: string example: 'Link-1' term: type: string example: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: type: string example: 'Entity-1' toExternalId: type: string example: 'Entity-2' containerExternalId: type: string example: 'SNowApps' LinkCreate: required: - externalId - fromExternalId - term - toExternalId type: object properties: externalId: type: string example: 'Link-1' term: type: string example: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromExternalId: type: string example: 'Entity-1' toExternalId: type: string example: 'Entity-2' LinkUpdate: type: object properties: name: $ref: '#/components/schemas/Names' Link: required: - fromId - id - term - toId - updatedAt type: object properties: id: type: string example: '1c29378f-289b-4b97-9c51-331110117ce8' externalId: type: string example: 'Link-1' term: type: string example: 'ArchiMate:FlowRelation' name: $ref: '#/components/schemas/Names' fromId: type: string example: 'd2ca09f5-4e97-45e5-9754-3ac89d8d10f3' fromExternalId: type: string example: 'Entity-1' toId: type: string example: 'c7dc1184-d9d0-4253-ba30-7f351e0f60eb' toExternalId: type: string example: 'Entity-2' updatedAt: type: string example: '2022-03-03T09:15:04.436344Z' Links: type: object properties: _items: type: array items: $ref: '#/components/schemas/Link' _offset: type: integer example: 0 _limit: type: integer example: 500 LinksCreateUpdate: type: object properties: _items: type: array items: $ref: '#/components/schemas/LinkCreateUpdate' _offset: type: integer _limit: type: integer AuditEvent: type: object properties: eventNumber: type: integer example: 5030 name: type: string example: "Login Success" date: type: string example: '2019-02-07T11:31:18.834Z' eventSourceUsername: type: string example: 'employee@example.com' eventSourceEmail: type: string example: 'employee@example.com' eventTargetUsername: type: string example: 'employee@example.com' eventTargetEmail: type: string example: 'employee@example.com' collaborationName: type: string example: 'ACME UAT model package' collaborationType: type: string example: 'master' groupName: type: string example: 'Designer group' commitDate: type: string example: '2021-11-09T15:11:28.000Z' commitAuthor: type: string example: 'employee@example.com' commitHash: type: string example: '60dc328c2f60c91723666c36c771206e127bafa2' properties: type: object additionalProperties: type: string parameters: CollaborationLongId: name: collaborationId in: query description: The ID that identifies the collaboration (e.g. 'repositories/171/collaborations/185'). required: true schema: type: string example: 'repositories/171/collaborations/185' CollaborationId: name: collaborationId in: path description: The number that identifies the collaboration. required: true schema: type: integer example: 185 ObjectId: name: objectId in: path description: The UUID that identifies the object. required: true schema: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' ModelId: name: modelId in: path description: The UUID that identifies the model object. required: true schema: type: string example: '5f53a04e-ac11-4301-88b6-f81c0d0f45b1' ObjectType: name: type in: path description: The type of the objects in the model. required: true schema: type: string example: 'ArchiMate:ApplicationComponent' DbdNamespace: name: namespace in: path description: The namespace of the data block definition. required: true schema: type: string example: 'default' DbdName: name: name in: path description: The name of the data block definition. required: true schema: type: string example: 'applicationinfo' DataBlockId: name: id in: path description: The UUID that identifies the data block. required: true schema: type: string example: 'ee84c805-454c-4aea-87a2-b1509b6658e7' RepositoryId: name: repositoryId in: path description: The number that identifies the repository. required: true schema: type: integer example: 171 CollectionId: name: collectionId in: path description: The external ID (a String) that identifies the collection. required: true schema: type: string example: 'ServiceNowData' ContainerId: name: containerId in: path description: The external ID (a String) that identifies the container. required: true schema: type: string example: 'Applications' EntityId: name: entityId in: path description: The external ID (a String) that identifies the entity. required: true schema: type: string example: 'Entity-1' LinkId: name: linkId in: path description: The external ID (a String) that identifies the link. required: true schema: type: string example: 'Link-1' Offset: name: offset in: query description: 'Pagination offset: number of rows preceding the first row returned. When omitted, this number defaults to 0.' schema: minimum: 0 type: integer format: int32 default: 0 Limit: name: limit in: query description: 'Pagination limit: number of rows to return. The maximum is 2000. When omitted, this number defaults to 100' schema: maximum: 2000 minimum: 0 type: integer format: int32 default: 100 responses: '400': description: The request failed because the information provided was incorrect. content: {} '400editors': description: The request failed because the provided body had an invalid structure or was malformed, or because one or more non-contributor users or groups were specified as editors. Only users or groups with the contributor role may be assigned as editors. content: {} '400readers': description: The request failed because the provided body had an invalid structure or was malformed, or because one or more non-consumer users or groups were specified as readers. Only users or groups with the consumer role may be assigned as readers. content: {} '401': description: The request failed because the authentication credentials were incorrect or missing. content: {} '404': description: The request failed because one of the referenced resources does not exist. Details may be provided in the response body. content: {}


ArchiMate is a registered trademark of The Open Group.