# Retrieve the wire and schema fingerprints

`GET /lokta-lms/api/v1/sourcing-partner-version`

Returns the fingerprints a client uses to tell whether a published shape has changed.

`wire_fingerprint` is a hash over the fields of the list and detail responses the sourcing partner endpoints publish: name and type, recursing into nested shapes. It is derived by reflection over the response records, so a field added without updating anything else still moves it. It changes if and only if a covered field is added, removed, renamed or retyped. It does not change on a restart, a query change or a fix that leaves the shapes alone.

The same value as last time means every field you have typed is unchanged, and no re-verification is needed. A different value means something you depend on moved.

`coverage_fingerprint` and `covered_records` describe which records the fingerprint covers. When coverage is unchanged and the wire fingerprint moved, an existing shape changed, so re-verify. When both moved, re-verify everything, not only the newly covered shapes. Coverage tells you why the hash moved. It is a diagnostic, never a filter.

Reference-data key names are folded into `wire_fingerprint`.

`schema_version` is the last applied database changeset for the sourcing partner endpoints.

Not covered: the acknowledgement bodies of write calls, such as `{"id": "..."}`. A field renamed in an acknowledgement does not move the hash. Query parameters, error text, ordering and permissions are not covered either.

## Responses
- `default`: default response

## Example request (cURL)
```bash
curl -X GET \
  'https://default.lokta.tech/lokta-lms/api/v1/sourcing-partner-version' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default'
```

Interactive: https://developer.lokta.ai/reference#operation/retrieveVersion
