All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, markdownlint, and this project adheres to Semantic Versioning.
- Fixed documentation of
detailLevel
parameter andSzDetailLevel
enumerated type so that they match.
- Removed documented
maximum
value formaxDegrees
parameter onGET /entity-paths
andGET /entity-networks
since it was never enforced by thesenzing-api-server
and does not really make sense. - Corrected
minimum
value formaxDegrees
parameter forGET /entity-path
to be one (1) instead of zero (0). Thesenzing-api-server
has enforced this as one (1) since paths cannot be zero-degree.
- Added
SzDetailLevel.BARE_MINIMAL
value to handle just returning the entity ID's without record information or relationship match info. - Added
SzDetailLevel.NETWORM_MINIMAL
value to behave the same asSzDetailLevel.BARE_MINIMAL
, but with the addition of relationship match info in the case of related entities being included. - Added
SzFeatureMode.ENTITY_NAME_ONLY
to handle just retrieving the entity name without actually returning other features.
- Added new
ATTRIBUTED
value forSzFeatureMode
for pulling back feature references at the record level to indicate which records contributed which features:- Added
SzFeatureReference
schema definition - Added
featureReferences
property toSzEntityRecord
- Added
- Added
GET /virtual-entities
operation definition.- Added
SzVirtualEntityResponse
schema definition - Added
SzVirtualEntityData
schema definition - Added
SzRecordIdentifier
schema definition - Added
SzRecordIdentifiers
schema definition
- Added
- Added operations to support "how entity" functionality:
- Added
GET /entities/{entityId}/how
operation definition - Added
GET /data-sources/{dataSourceCode}/records/{recordId}/entity/how
operation definition - Added
SzHowMatchInfo
schema definition - Added
SzVirtualEntityRecord
schema definition - Added
SzVirtualEntity
schema definition - Added
SzResolutionStep
schema definition - Added
SzHowEntityResult
schema definition - Added
SzHowEntityResponse
schema definition
- Added
- Updated
GET /entity-paths
parameter documentation
- Added
SzDetailLevel
enumeration for detail levels - Added
detailLevelQueryParam
reference to operations that also tookfeatureMode
parameter to allow detail level specification with default value ofVERBOSE
to match pre-existing behavior for backwards compatibility. - Updated documentation of
SzRelationshipMode
andwithRelated
parameter to reflect interdependence withdetailLevel
. - Updated documentation of
partial
flag forSzResolvedEntity
to reflect how it might be set totrue
depending on the specifieddetailLevel
.
- Removed endpoints pertaining to Entity Types
- Removed endpoints pertaining to Entity Classes
- Removed schema objects for Entity Types
- Removed schema objects for Entity Classes
- Removed
SzBaseRelatedEntity.matchScore
sinceMATCH_SCORE
removed in 3.0 - Removed
SzMatchedRecord.refScore
sinceREF_SCORE
removed in 3.0 - Removed
SzBaseRelatedEntity.refScore
sinceREF_SCORE
removed in 3.0
- Changes to bulk-data operation examples for improved documentation
- Added
GET /
endpoint that mimics the functionality ofGET /heartbeat
- Added
GET /specifications/open-api
endpoint to get the Open API specification as JSON data. The optional?asRaw=true
query parameter promotes the Open API JSON from thedata
property of the response to the root of the response. - Added 'infoQueueConfigured' property to SzServerInfo
- Modified inline data segments to be first-class named types.
- Added
webSocketsMessageMaxSize
toGET /server-info
'sSzServerInfo
response. - Added
eofSendTimeout
parameter toPOST /bulk-data/analyze
andPOST /bulk-data/load
endpoints for Web Sockets support. - Added missing documentation of the
maxFailures
query parameter forPOST /bulk-data/load
endpoint. - Added information for invoking Bulk Data endpoints via Web Sockets.
- Added detailed descriptions for all operations.
- Added additional documentation tying the
characteristicData
field to theATTRIBUTE_DATA
field in the raw data.
- Added
nativeApiBuildVersion
to meta (SzMeta
) - Added
nativeApiBuildVersion
toSzVersionInfo
- Added
POST /search-entities
endpoint to provide aPOST
variant ofGET /entities
that uses the request body instead of theattr
andattrs
query parameters - Fixed type of
progressPeriod
parameter
- Added
includeOnly
query parameter toGET /entities
endpoint. NOTE: this parameter is only recognized if the underlying native Senzing API Product is version 2.4.1 or later. - Modified
SzBaseResponse
to include four new fields to be included in the meta section of each response:nativeApiVersion
nativeApiBuildNumber
nativeApiBuildDate
configCompatibilityVersion
- Fixed definition of
SzFlaggedRecord
sodataSource
is defined as a string
- Added
GET /why/entities
operation - Modified
SzMatchInfo
to support disclosed relationships - Added
SzWhyEntitiesResponse
model schema - Added
SzWhyEntitiesResult
model schema - Added
SzDisclosedRelation
model schema - Added
SzRelationDirection
model schema - Added
SzRelatedFeatures
model schema - Updated some documentation for clarification.
- Added
SzNameScoring
to describe name scoring details - Added
SzSearchFeatureScore
for search feature scores - Modified
SzBaseRelatedEntity
to removefullNameScore
field since it has not been populated since switch to version 2.0.0 of native Senzing SDK and never made sense in the "base class" since onlySzAttributeSearchResult
had this field populated under native Senzing SDK version 1.x. - Added
bestNameScore
field toSzAttributeSearchResult
to replacefullNameScore
in the place where the name score was previously used with version 1.x of the native Senzing SDK (i.e.: to sort search results based on the strength of the name match). - Modified
SzAttributeSearchResult
to include thefeatureScores
field to provide feature scores without using "raw data" - Added
nameScoringDetails
field toSzFeatureScore
class to provideSzNameScoring
name scoring details on why operations, - Updated
com.senzing.api.model.SzFeatureScore
to define itsscore
field as the most sensible score value from thenameScoringDetails
for"NAME"
features since theFULL_SCORE
field is not available for names. - Updated version numbers to 2.2.0
- Added the
NOT_SCORED
value forSzScoringBucket
enum.
- Added
SzMatchLevel
type to enumerate and describe the various match levels. - Added
matchLevel
field toSzMatchInfo
to include the match level fromMATCH_LEVEL_CODE
in the responses from the "why" endpoints. - Added
lastSeenTimestamp
field toSzResolvedEntity
andSzEntityRecord
to includeLAST_SEEN_DT
field in the primary schema rather than only the raw.
-
Added
withInfo
andwithRaw
query parameters to following endpoints:POST /data-sources/{dataSourceCode}/records
PUT /data-sources/{dataSourceCode}/records/{recordId}
-
Added
DELETE /data-sources/{dataSourceCode}/records/{recordId}
endpoint includingwithInfo
andwithRaw
query parameters. -
Added the following endpoints to reevaluate entities or specific records including
withInfo
andwithRaw
query parameters:POST /data-sources/{dataSourceCode}/records/{recordId}/entity/reevaluate
POST /reevaluate-entities
-
Added many examples to use with Swagger Editor
- NOTE: some limitations and bugs with Swagger editor make some of these difficult to use with the “Try it Out” function — for example, necessary line breaks are removed from “JSON lines” input files when curl commands are generated.
-
Potentially Backward-Compatibility Breaking Changes by API Endpoint:
-
GET /data-sources/{dataSourceCode}/records/{recordId}
- Modified the response to match the Senzing REST API specification so that
the
data
field is no longer an instance ofSzRecordResponse
but is rather an object with arecord
field of typeSzRecordResponse
.- MIGRATION: Change direct references to the
data
field to instead referencedata.record
.
- MIGRATION: Change direct references to the
- Modified the response to match the Senzing REST API specification so that
the
-
GET /entity-classes
-
GET /entity-classes/{entityClassCode}
-
POST /entity-types
-
POST /entity-classes/{entityClassCode}/entity-types
-
GET /entity-classes/{entityClassCode}/entity-types/{entityTypeCode}
- Removed support for any entity class other than ACTOR as it was discovered
that the underlying product does not properly support entity resolution
when using entity classes other than ACTOR and it may not for some time.
This will change if and when additional entity classes are supported.
- MIGRATION: Ensure the value provided for all entity classes are
changed to
ACTOR
.
- MIGRATION: Ensure the value provided for all entity classes are
changed to
- Removed support for any entity class other than ACTOR as it was discovered
that the underlying product does not properly support entity resolution
when using entity classes other than ACTOR and it may not for some time.
This will change if and when additional entity classes are supported.
-
POST /entity-classes
- Removed this operation as it was discovered that the underlying product
does not fully properly support entity resolution when using entity
classes other than ACTOR and it may not for some time. This will change
if and when additional entity classes are supported.
- MIGRATION: Remove calls to create new entity classes and instead use
the default entity class of
ACTOR
.
- MIGRATION: Remove calls to create new entity classes and instead use
the default entity class of
- Removed this operation as it was discovered that the underlying product
does not fully properly support entity resolution when using entity
classes other than ACTOR and it may not for some time. This will change
if and when additional entity classes are supported.
-
GET /entities/{entityId}
-
GET /data-sources/{dataSourceCode}/records/{recordId}/entity
- The
withRelated
parameter is no longer aboolean
value that acceptstrue
orfalse
. It now accepts an enumerated value ofNONE
,PARTIAL
orFULL
.- MIGRATION: Use
?withRelated=true
if relationships are desired.
- MIGRATION: Use
- The
attributeData
field ofcom.senzing.api.model.SzResolvedEntity
was renamed tocharacteristicData
to match the API spec.- MIGRATION: Use
?withRelated=FULL
in place of?withRelated=true
and use?withRelated=PARTIAL
in place of?withRelated=false
.
- MIGRATION: Use
- The
-
GET /config/current
- Renamed to
GET /configs/active
since “current” is ambiguous with regards to the “currently active config” versus the configuration managers currently configured “default config”.- MIGRATION: Use the
/configs/active
path in place of/config/current
.
- MIGRATION: Use the
- Renamed to
-
GET /config/default
- Renamed to
GET /configs/template
since “default” is ambiguous with the configuration managers “default config” setting.- MIGRATION: Use the
/configs/template
path in place of/config/default
.
- MIGRATION: Use the
- Renamed to
-
GET /entities
- Removed the
attr_[PROPERTY_NAME]
parameters and replaced with the multi-valuedattr
parameter so that this parameter could better be documented in the Open API Spec and examples provided via Swagger Editor.- MIGRATION: Use
?attr=NAME_FIRST:Joe
in place of?attr_NAME_FIRST=Joe
or use theattrs
parameter with a JSON value.
- MIGRATION: Use
- The
withRelationships
query parameter now defaults tofalse
instead oftrue
.- MIGRATION: Use
?withRelationships=true
if relationships are desired.
- MIGRATION: Use
- Removed the
-
GET /entity-networks
- Changed the default value for
maxDegrees
parameter from 5 to 3
- Changed the default value for
-
POST /bulk-data/load
- Replaced the
dataSource_[DATA_SOURCE_CODE]
parameters with the multi-valuedmapDataSource
parameter so that this parameter could better be documented in Open API Spec and examples provided via Swagger Editor.- MIGRATION: Use
?mapDataSource=FOO:BAR
in place of?dataSource_FOO=BAR
or use the newmapDataSources
parameter instead.
- MIGRATION: Use
- Replaced the
entityType_[ENTITY_TYPE_CODE]
parameters with the multi-valuedmapEntityType
parameter so that this parameter could better be documented in Open API Spec and examples provided via Swagger Editor.- MIGRATION: Use
?mapEntityType=FOO:BAR
in place of?entityType_FOO=BAR
or use the newmapEntityTypes
parameter instead.
- MIGRATION: Use
- Replaced the
-
-
Other Changes by API Endpoint:
-
GET /license
- Added the previously undocumented (but always-supported) the “withRaw” parameter to the specification.
-
GET /version
- Added the previously undocumented (but always-supported) the “withRaw” parameter to the specification.
-
POST /bulk-data/load
- Added the single-valued
mapDataSources
parameter which accepts URL-encoded JSON to map the original data sources to target data sources. - Added the single-valued
mapEntityTypes
parameter which accepts URL-encoded JSON to map the original entity types to target entity types.
- Added the single-valued
-
- Improved documentation
- Works with senzing versions up to 1.15.6
- Not supported for senzing version 2.0.0 and above
- Added WHY operations
GET /data-sources/{dataSourceCode}/records/{recordId}/entity/why
GET /entities/{entityId}/why
GET /why/records
- Added support for the
withFeatureStatistics
andwithDerivedFeatures
parameters across the following endpoints:GET /data-sources/{dataSourceCode}/records/{recordId}/entity
GET /data-sources/{dataSourceCode}/records/{recordId}/entity/why
GET /entities/{entityId}
GET /entities/{entityId}/why
GET /why/records
GET /entity-paths
GET /entity-networks
- Added the
featureDetails
property to entity results to support obtaining the feature ID as well as the feature statistics (if requested).
- Adds config modification operations (data sources, entity types, etc...)
- Adds bulk data analyze and load operations
- Changed
configCompatibilityVersion
field inGET /version
endpoint to be a string rather than an integer. When it was specified as an integer, this was a mistake in the original release. NOTE: this will require that client code be regenerated.