Middleware
In order to baseline data from a system of record, an interface must be created to interact with Provide Baseline. The integration interface serves as a bi-directional implementation layer that enables seamless interaction between the system of record and Provide Baseline.
In order to successfully interact with Provide Baseline, the integration interface must support the following functions:
Interface
Code
Name | Description |
ConfigureProxy | sets the organization parameters for baselining a record |
CreateObject | creates a Baseline object |
GetObjectModel | retrieves the object model |
UpdateObject | updates a target object |
UpdateObjectStatus | updates the status of a target object |
type SOR interface {
ConfigureProxy(params map[string]interface{}) error
CreateObject(params map[string]interface{}) (interface{}, error)
DeleteProxyConfiguration(organizationID string) error
GetObjectModel(recordType string, params map[string]interface{}) (interface{}, error)
HealthCheck() error
ProxyHealthCheck(organizationID string) error
UpdateObject(id string, params map[string]interface{}) error
UpdateObjectStatus(id string, params map[string]interface{}) error
}
First, you'll need to configure the system of record with information about the middleware to facilitate a connection. The model that the system of record must ingest is contained in the request below:
post
https://example.sor.local
/proxy_config
Configure Middleware

A Baseline
Object
is arbitrary data containing the ProtocolMessagePayload
. The integration middleware will need to pass this object in accordance with the domain model as agreed upon by the counter-parties and enforced by a prover. The middleware will ingest the ProtocolMessagePayload
, return a BaselineRecord
, and output a ProtocolMessage
to participant middlewares.post
https://baseline.provide.services
/api/v1/objects
Create Object
In the DevOps lifecycle, it may become necessary to delete a configured middleware on behalf of a tenant. In these cases, the system of record will need to stop sending requests to the middleware associated with the specified
organization_id
.delete
https://example.sor.local
/organizations/:id/proxy
Delete Middleware Configuration
Because the
payload
contained within the object
supports arbitrary data, it may be necessary to query the stack to retrieve the schema of the object model being used. get
https://baseline.provide.services
/api/v1/object_schemas
Fetch Object Schemas
Request to verify that the system of record is online
get
https://baseline.provide.services
/api/v1/organizations/:id/proxy
Health Check - SOR
Request to verify that the system of record can communicate with the proxy
get
https://baseline.provide.services
/api/v1/status
Health Check - Middleware
When updating an object, the
baseline_id
must be relayed with each request. The functions the middleware integration support are as follows:put
https://baseline.provide.services
/api/v1/objects/:id
Update Object
put
https://baseline.provide.services
/api/v1/business_objects/:id/status
Update Object Status
Last modified 1yr ago