Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

See API guide

Organizations can integrate their applications into the YOUnite ecosystem for different purposes: 

  1. Operational - Manage zones, users, groups, roles and permissions. These requests are made using the YOUnite API. The YOUnite UI is an example of an application that consumes the YOUnite API and makes operational and Data Governance requests on behalf of the logged in user

...

Five general areas of development:

  1. Operational - Manage zones, users, groups, roles and permissions. These requests are made using the YOUnite APIbut this functionality can be built into the organization's own applications.
  2. Data Governance - Create data domains and manage scope (ACLs). These requests are made using the YOUnite API.
  3. Creating and mapping source entities to YOUnite data records. This can be done with either the YOUnite API or the YOUnite . Adaptors also perform the creating and mapping tasks over theYOUnite message bus.
  4. Integrating data and keeping source entities in sync. This is managed by adaptors connected to the YOUnite message bus.
  5. Receiving notifications of data record changes so that applications can initiate their own work flows.

...

The YOUnite API can also act as an operational data store for retrieving records. This is generally used for systems that are not connected to YOUnite through an adaptor or when the adaptor doesn't support a data domain required by the service.


1. Zones & Permissions

zones

permissions

access tokens

UI and seeing effective permissions

Scopes

See XYZ for overview of scopes.

Inbound

Setting

Outbound

Setting

Getting Data Records

Making Data Record Changes

PUT, PATCH and Change Versions

All mutable resources contain a changeVersion that is used as a semaphore to control concurrent access. For example, if an API consumer wants to PUT or PATCH a resource they must use the following sequence:

...

If the changeVersion has been changed by another consumer since the GET request (#1 above), a 409 will be returned and the consumer will need to repeat the sequence again.

Receiving Data Record Changes

Event Notifications & Webooks

Webhooks allow applications to setup integrations which subscribe to certain YOUnite events. An API consumer integrates a webhook by following these steps:

...

When a YOUnite subscribed event occurs, the consumer will receive an HTTP POST request and payload to the registered URL endpoint.

YOUnite Events

When registering a webhook, the consumer chooses which events they want to subscribe to. The list of subscribed events can be changed at anytime.  The following is list of event types that a subscriber can be notified of on a per zone  basis:

EventEvent Type
A zone is createdzone_post
A zone is updated (including moved)zone_update
A zone is deletedzone_delete

A data domain is created or a new version of

of the data domain has been created

domain_post

A data domain has been updated

domain_update
A data domain has been deleteddomain_delete
A data record has been created for a given data domain (TBD)dr_post
A data record has been updated in a given data domain (TBD)dr_put
A data record has been deleted in a give data domain (TBD)dr_delete


Notification Event Response Body

The notification's  response body includes the following:

keyvalue
descriptionA full description of the event - i.e. a full concatenation of the information described below for easy displaying.
changeVersionThe resources change version.
createdDateThe date the resource was created.
NameThe resource name
message-idThe JMS message ID.
dateCreatedUnix timestamp of when the event notification was sent

uuid

Zone uuid of target resource
eventTypeOne of the above described "Notification Event Types"
originatorNameThe name of the zone that generated the event.
originatorUuid

The UUID of the zone that generated the event.

timestampThe time the notification was created.
actionsSome PUT & PATCH commands provide multiple actions and this list contains a description of what actions were performed.
optionalOther key/values that are appropriate for the notification type

Requesting Notification Log

A client can make a request to get the log history for all notifications sent to their zone.  The user provides their zone and a from and to date.


Message Broker (Remove this and replace with something that doesn't cover the MB)


Image Modified

Response Codes

Internal Errors

It is always recommended that YOUnite is deployed in a highly-available configuration. Not only should YOUnite be highly-available but so should the underlying services that it depends upon e.g. database and message broker.  If an API request is made to the YOUnite API service and one of the underlying services is  experiencing a catastrophic failure, the  YOUnite API service will return a 500 to the API consumer and the API consumer will have to retry their request.

...