Skip to content

Contacts

ParameterDescription
titleOptional. Title of the person e.g. Dr, Ms, Mrs. Case sensitive.
first_nameOptional. Case sensitive.
last_nameOptional. Case sensitive.
emailOptional. Valid email address, case insensitive.
date_of_birthOptional. Any reasonable date format but YYYY-MM-DD recommended.
postal_codeOptional. Postcode / zip code, case sensitive.
take_first_if_multipleOptional. If multiple matches are returned, take the first (order undefined).

Matching rules:

  1. By email
  2. By first name, last name and date of birth
  3. By first name, last name and postcode
  4. By title, last name and postcode
GET https://api.sheepcrm.com/api/v1/$FLOCK/find/person/?email=james@example.com
Authorization: Bearer $API_KEY
GET https://api.sheepcrm.com/api/v1/$FLOCK/find/person/?first_name=James&last_name=Webster&postal_code=NR28+8FL
Authorization: Bearer $API_KEY
ParameterDescription
nameOptional. Case sensitive.
emailOptional. Valid email address, case insensitive.
postal_codeOptional. Postcode / zip code, case sensitive.
domainOptional. Website domain (no http etc).
take_first_if_multipleOptional. If multiple matches are returned, take the first (order undefined).

Matching rules:

  1. By name and postcode
  2. By exact name
  3. By email
  4. By domain
GET https://api.sheepcrm.com/api/v1/$FLOCK/find/organisation/?name=Authentic+Digital+Ltd
Authorization: Bearer $API_KEY

Policy: person.summary / organisation.summary

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/summary
Authorization: Bearer $API_KEY

Policy: person.personal

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/person/{uid}/personal/detail
Authorization: Bearer $API_KEY

Returns profile data about the contact concerning how to communicate with them (email, postal address, etc).

Policy: person.communications

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/person/{uid}/communications/detail
Authorization: Bearer $API_KEY

Policy: badge.summary

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/badges/summary
Authorization: Bearer $API_KEY

Policy: badge.detail

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/badges/detail
Authorization: Bearer $API_KEY

Policy: evidence.summary

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/evidence/summary
Authorization: Bearer $API_KEY

Policy: evidence.detail

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/evidence/detail
Authorization: Bearer $API_KEY

Policy: gdpr

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/gdpr/all
Authorization: Bearer $API_KEY
HTTP/1.1 200 OK
{
"consents": [],
"contact_uri": "/{bucket}/{organisation|person}/{uid}/",
"contract": [],
"legitimate_interests": []
}

Policy: membership

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/membership/summary
Authorization: Bearer $API_KEY

Policy: membership.all

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/membership/all
Authorization: Bearer $API_KEY
ParameterDescription
limitReturn first N connections.
connection_typeReturn only connections of a specified type.
hiddenInclude hidden connections (Y/N). Hidden connections are not included by default.
GET https://api.sheepcrm.com/api/v1/$FLOCK/connections/?uri={UID}
Authorization: Bearer $API_KEY
HTTP/1.0 200 OK
{
"connections": [
{
"automatic": null,
"bidirectional": null,
"connection_note": null,
"connection_type": null,
"destination": "/example/person/5aafb4de0490573922b9da91/",
"end_date": null,
"hidden": false,
"label": "contact",
"sort_order": 1000,
"source": "/example/organisation/5a57701704905781f28622ac/",
"start_date": "2019-08-20T12:30:42.523000"
}
]
}
ParameterDescription
sourceRequired. The “from” or source of the connection.
destinationRequired. The “to” or destination of the connection.
labelRecommended. A descriptive label for the connection.
connection_noteOptional. Free text note to explain the connection or record background information.
start_dateOptional. Start date for the connection.
end_dateOptional. End date for the connection.
bidirectionalOptional. Create a 2nd connection with the source and destination swapped (default is False).
POST https://api.sheepcrm.com/api/v1/$FLOCK/connections/
Authorization: Bearer $API_KEY
Content-Type: application/json
{
"source": "/example/organisation/5fa523e480859e33dc285c86/",
"destination": "/example/person/5c02fb8b601d090e125020de/",
"label": "friends"
}
HTTP/1.0 200 OK
{
"connection_obj": null,
"connection_uri": "/example/connection/61800b989d13abcb30ba91e4/",
"status": "created"
}

Retrieve form responses for a single contact.

Policy: form.summary

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/form/summary
Authorization: Bearer $API_KEY

Policy: form.detail

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/form/detail
Authorization: Bearer $API_KEY

Retrieve invoices for a single contact.

Policy: quote.summary

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/invoices/summary
Authorization: Bearer $API_KEY

Policy: quote.detail

GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/invoices/detail
Authorization: Bearer $API_KEY

Duplicate records represent data quality degradation, and when health and emergency contact information is involved, duplicate records can be a serious problem. This API call looks across a range of fields for similar records and suggests them for a human to decide if a merge is required.

ParameterDescription
limitOptional. Maximum number of results returned. Default is 20.
thresholdOptional. Minimum match score. Default is zero.
GET https://sls-api.sheepcrm.com/api/v2/{bucket}/{organisation|person}/{uid}/duplicates/
Authorization: Bearer $API_KEY
HTTP/1.1 200 OK
{
"duplicates": [
{
"display_value": "Mr David Example",
"notes": [
"match on first_name (david -> david) +10",
"match on last_name (example -> example) +10",
"match on locality (sheffield -> sheffield) +15",
"match on region (southyorkshire -> southyorkshire) +10",
"match on primary_telephone (07701473459 -> 07701473459) +40",
"match on postal_code (s791fx -> s791fx) +25"
],
"similarity": 110,
"summary": "based on primary telephone",
"uri": "/example/person/5967467f0490573d302b44f4/"
}
]
}

When two records have been identified as duplicates they can be queued for merging. Fields and linked records associated with the duplicate will be merged into the original record. Field merging uses an “under-write” policy: if the field is missing on the original it is added, if it is present on the original the field is not changed. A journal entry will be added to the original record listing the fields and linked records which have been modified. If the merge is successful the duplicate record will be deleted.

PUT https://api.sheepcrm.com/api/v1/{bucket}/{organisation|person}/merge/{duplicate_uid}/into/{original_uid}
Authorization: Bearer $API_KEY
HTTP/1.1 200 OK
{
"message": "Dupe queued"
}