Resources

The resources use a data model that is supported by a set of client-side libraries that are made available on the files and libraries page.

There is a WADL document available that describes the resources API.

name path methods description
ClassifierApi
  • /classifiers/{id}/classify
  • POST
DocStatsApi
  • /docstats
  • POST
ExternalApiV2
  • /createTargetMonitorAndCustomerObserver
  • /documents
  • /findAllTargetTermsForUser
  • /findAssociations
  • /findAssociationsForWordsGeneric
  • /findBackgroundAssociations
  • /findDocumentDomains
  • /findDocumentURIs
  • /findNumberOfDocumentsForWords
  • /findSnippetsForAssociations
  • /findSnippetsForURL
  • /getComparisonValues
  • /getLatestTriggerMarkerMessage
  • /getMostRecentValues
  • /getTriggerMarkerMessage
  • /getValue
  • /getValues
  • /getValuesMultiple
  • /languages
  • /listAllCustomerObserverViews
  • /pingService
  • /suggestSalientTerms
  • /suggestTerms
  • /textPolarization
  • /uploadImage
  • POST
  • GET POST
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • POST

A restful API to external methods of Ethersource. Returned data is encoded as json objects. The default endpoint to use is https://ethersource.gavagai.se/ethersource/rest/v2/. So to use getValue you should use https://ethersource.gavagai.se/ethersource/rest/v2/getValue For most of these externalApi methods, you need to have a list of your customerObserverViews. To get these, use the method listAllCustomerObserverViews

The API requires HTTP Basic Authentication, thus you need a username and a password to access the API. You will get this from a Gavagai operator.

Most API methods also require you to pass in an API key. You will get this as well from a Gavagai operator.

Version history:

v8 added several TopicTracker Methods to the api, only applicable to a TopicTrackerUser.

v7 added getValues(to get the Polarization Values for a CustomerObserver over a given Range), getMostRecentValues(to get the recent Polarization Values), getComparisonValues(to get the most recent values for a set of customerObserverViews, to compare them) to the api.

v6 added findAssociations to the api

v5 added findDocumentURIs to the api

v4 getTriggerMarker changed its matching algorithm slightly: now it matches a triggermarker within the given day or hour (or whatever resolution is set) regardless of the values of the smaller time fields, and not, as previously, the closest triggerMarker.

v3 trigger marker methods now reference a sensorSubscriptionId instead of a sensorId

v2 changed path in example call

v1 first version of api with getValue

Changes to Ethersource Api:

We have upgraded our api from Version 1 to Version 2. These are the changes that go along with this upgrade:

End Point: https://ethersource.gavagai.se/ethersource/rest/v2/
Documentation: https://ethersource.gavagai.se/ethersource/v2/apis/

1) For all the method calls, the outer wrapper that was returned with the JSON has been removed
2) The names of the fields as returned by the json have been modified
3) Values that were null, before were not output. They will now be output, with a NULL value
4) Arrays that had only one element, before we output as a single object. If the array was empty, the field was skipped. Now, irrespective of whether the array is empty/single object/multiple objects, the arrays are output as arrays
5) Before, Float values without a decimal value were output as Ints, they will now be output as floats with a ‘.0’
6)The order of the fields within the JSON have been changed
7) Method getValuesMultiple now takes a minimum of 2 customerObserverViewIds as a parameter. If 1 customerObserverViewId only is passed, an error is thrown

GaugeApi
  • /gauge
  • POST
KpisApi
  • /kpis
  • /kpis/{id}
  • GET POST
  • DELETE GET PUT
ObserversApi
  • /observers
  • /observers/mentions
  • /observers/{id}
  • /observers/{id}/associations
  • /observers/{id}/bookmark
  • /observers/{id}/documentsdetails
  • /observers/{id}/documentsdomains
  • /observers/{id}/export
  • /observers/{id}/mentions
  • /observers/{id}/requestcopy
  • /observers/{id}/sentiments
  • /observers/{id}/stories
  • /observers/{id}/kpis/associations
  • /observers/{id}/kpis/sentiments
  • /observers/{id}/associations/{association}/documentsdetails
  • /observers/{id}/associations/{association}/documentsdomains
  • /observers/{id}/kpis/{kpiId}/connect
  • /observers/{id}/kpis/{kpiId}/stories
  • GET POST
  • GET
  • DELETE GET PUT
  • GET
  • DELETE POST
  • GET
  • GET
  • POST
  • GET
  • POST
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • POST
  • GET
PolesApi
  • /poles
  • /poles/{id}
  • /poles/{id}/suggest
  • GET POST
  • DELETE GET PUT
  • GET
SectorsApi
  • /sectors
  • /sectors/{id}
  • /sectors/{id}/associations
  • /sectors/{id}/bookmark
  • /sectors/{id}/documentsdetails
  • /sectors/{id}/documentsdomains
  • /sectors/{id}/export
  • /sectors/{id}/kpis
  • /sectors/{id}/observers
  • /sectors/{id}/requestcopy
  • /sectors/{id}/subscribe
  • /sectors/{id}/unsubscribe
  • /sectors/{sectorId}/annotations
  • /sectors/{id}/kpis/associations
  • /sectors/{id}/kpis/mentions
  • /sectors/{id}/kpis/sentiments
  • /sectors/{id}/observers/mentions
  • /sectors/{id}/observers/sentiments
  • /sectors/{sectorId}/annotations/{annotationId}
  • /sectors/{id}/associations/{association}/documentsdetails
  • /sectors/{id}/associations/{association}/documentsdomains
  • /sectors/{id}/kpis/{kpiId}/connect
  • /sectors/{id}/observers/{observerId}/connect
  • GET POST
  • DELETE GET PUT
  • GET
  • DELETE POST
  • GET
  • GET
  • POST
  • GET
  • GET
  • POST
  • POST
  • POST
  • GET POST
  • GET
  • GET
  • GET
  • GET
  • GET
  • DELETE PUT
  • GET
  • GET
  • POST
  • POST
UsersApi
  • /users
  • /users/apiKey
  • /users/bookmarks
  • /users/copyrequests
  • /users/roles
  • /users/usagestatistics
  • /users/{userId}
  • /users/confirm/credentials
  • /users/copyobserverrequests/{copyRequestId}
  • /users/copysectorrequests/{copyRequestId}
  • /users/{userId}/activate
  • /users/{userId}/apiKey
  • /users/{userId}/email
  • /users/{userId}/password
  • /users/{userId}/sendConfirmationEmail
  • /users/copyobserverrequests/{copyRequestId}/activate
  • /users/copysectorrequests/{copyRequestId}/activate
  • /users/{userId}/email/confirm
  • POST
  • GET
  • GET
  • GET
  • GET
  • GET
  • PUT
  • GET
  • DELETE
  • DELETE
  • POST
  • GET
  • PUT
  • PUT
  • POST
  • PUT
  • PUT
  • POST

Data Types

JSON

type description
Association
AssociationsForWord
Author
Bookmarks
Classification
ClassificationRequest
ClassificationResponse
CopyObserverRequest
CopyRequest
CopyRequests
CopySectorRequest
CreateCustomerObserverRequest
Curve
CurveLabel
CustomerObserverView
DfTermTopic
DocsStatsContext
DocsStatsDocument
DocsStatsResponse
Document
Document
DocumentList
DocumentMeasurement
DocumentReference
DocumentSnippet
Documents
DocumentsDetails
DocumentsDomains
DocumentsRequest
Email
EthersourceAdvice
EthersourceAssociationsForWordsResponse
EthersourceBackgroundAssociation
EthersourceBackgroundAssociationSearchResponse
EthersourceDocumentCountResponse
EthersourceDocumentDetailsResponse
EthersourceDocumentDomain
EthersourceDocumentSnippetSearchResponse
EthersourceDocumentURI
EthersourceDocumentsXml
EthersourceDomainSearchResponse
EthersourceSnippet
EthersourceSnippetToken
EthersourceTargetResponse
EthersourceURISearchResponse
EthersourceURLSnippetSearchResponse
EthersourceValue
EthersourceValues
GaugeRequest
GaugeResponse
HealthCheckReport
HealthCheckResult
HealthCheckType
ImageUploadRequest
ImageUploadResponse
KPIGroup
KPIReference
KeyPerformanceIndex
KeyPerformanceIndex
KeyPerformanceIndexDetails
KeyPerformanceIndexMentions
KeywordSimilarTerms
KpiAssociations
KpiSentimentValues
KpisAssociationsResponse
KpisResponse
Language
ListCustomerObserverViewsResponse
Observer
Observer
ObserverBookmark
ObserverDetails
ObserverDetailsList
ObserverKpiSentiments
ObserverList
ObserverMentions
ObserverSentimentValues
ObserverSentiments
ObserverThin
ObserverUsageStatistics
ObserversMentionsList
PolarizationValue
Pole
Pole
PoleMeasurement
PolePart
PolePart
PoleSuggestion
PoleSuggestions
PolesResponse
Resolution
SalientTerms
Sector
SectorAnnotation POST method should have the following parameters: { "resolution": //"hour"/"day"/"month" the resolution of the given data point "date": //timestamp for the given data point, "created": //timestamp for when the note itself is created, "text": //String containing the note, "affected": //[observerId] - array with ids of the observers in a sector that the note concerns - this could maybe be optional. "author" : { name: //full name of the author of the note, mail: //email to the author of the note }, "createdBy": //userId of the account that was used when note was created. }.
SectorAnnotationRequest
SectorAnnotations
SectorBookmark
SectorKPIResponse
SectorKPIs
SectorKpiSentiments
SectorMentions
SectorObserverGroupMentions
SectorObserversMentions
SectorSentiments
SectorThin
SectorsResponse
Sentence
SentimentValues
StableAssociation
StoriesResponse
Story
Suggestions
TargetDetails
Term
TermRelation
TextReferenceByod
TextReferencesGroup
TimestampValue
Tonality
Topic
Topics
TrendingAndStableAssociations
TrendingAndStableAssociationsList Wrapper object for TrendingAndStableAssociations objects since jax-rs does not specify how to encode lists. see http://docs.codehaus.org/display/ENUNCIATE/Lists+and+JAX-RS and https://docs.google.com/document/d/1a5JiRvTscvV0APpNVqmypzX-TjJH6klOmEKHBghn__k/edit#
UsageStatistics
User
User
UserAPIKey
UserRoles

XML

Default Namespace (schema)
type description
resolution
association
associationsForWord
author
bookmarks
classification
classificationRequest
classificationResponse
copyObserverRequest
copyRequest
copyRequests
copySectorRequest
curve
curveLabel
customerObserverView
document
documentList
documentMeasurement
documentReference
documentSnippet
documents
documentsDetails
documentsDomains
domainInfoSortType
error Returned when there is an exception while calling an API method. Includes a result code and a message.
errorCode
ethersourceAdvice
ethersourceAssociationsForWordsResponse
ethersourceAssociationsSearchResponse
ethersourceBackgroundAssociation
ethersourceBackgroundAssociationSearchResponse
ethersourceDocumentCountResponse
ethersourceDocumentDetailsResponse
ethersourceDocumentDomain
ethersourceDocumentSnippetSearchResponse
ethersourceDocumentURI
ethersourceDocumentsXml
ethersourceDomainSearchResponse
ethersourceGeckoBoardFunnelPlot
ethersourceGeckoBoardLineGraph
ethersourceGeckoBoardPieChart
ethersourceGeckoBoardRagColumns
ethersourceGeckoBoardTrend
ethersourceShackeltonResponse
ethersourceSnippet
ethersourceSnippetToken
ethersourceTargetResponse
ethersourceURISearchResponse
ethersourceURLSnippetSearchResponse
ethersourceValue
ethersourceValues
gaugeResponse
geckoBoardGeneric
geckoBoardSetting
healthCheckReport
healthCheckType
healthCheckResult
imageUploadResponse
KPIGroup
KPIReference
keyPerformanceIndex
keyPerformanceIndexDetails
keyPerformanceIndexMentions
kpiAssociation
kpiAssociations
kpiSentimentValues
kpisAssociationsResponse
kpisResponse
leftronicChart
listCustomerObserverViewsResponse
observerBookmark
observerDetails
observerDetailsList
observerKpiSentiments
observerList
observerMentions
observerSentimentValues
observerSentiments
observerThin
observerUsageStatistics
polarizationValue
pole
poleMeasurement
poleSuggestion
poleSuggestions
polesResponse
replayResponse
salientTerms
sector
sectorAnnotation POST method should have the following parameters: { "resolution": //"hour"/"day"/"month" the resolution of the given data point "date": //timestamp for the given data point, "created": //timestamp for when the note itself is created, "text": //String containing the note, "affected": //[observerId] - array with ids of the observers in a sector that the note concerns - this could maybe be optional. "author" : { name: //full name of the author of the note, mail: //email to the author of the note }, "createdBy": //userId of the account that was used when note was created. }.
sectorAnnotationRequest
sectorAnnotations
sectorBookmark
sectorKPIResponse
sectorKpiSentiments
sectorMentions
sectorObserverGroupMentions
sectorObserversMentions
sectorSentiments
sectorThin
sectorsResponse
sentence
sentimentValues
sortType
stableAssociation
storiesResponse
storiesResponseByod
story
suggestions
targetDetails
term
termRelation
timestampValue
tonality
topic
topics
trendingAndStableAssociations
trendingAndStableAssociationsList Wrapper object for TrendingAndStableAssociations objects since jax-rs does not specify how to encode lists. see http://docs.codehaus.org/display/ENUNCIATE/Lists+and+JAX-RS and https://docs.google.com/document/d/1a5JiRvTscvV0APpNVqmypzX-TjJH6klOmEKHBghn__k/edit#
trendingAndStableTopics
uriInfoSortType
usageStatistics
user
createCustomerObserverRequest
docsStatsContext
docsStatsDocument
documentsRequest
email
gaugeRequest
language
observer
polePart