# Summics REST API
The *Summics API* is available at `https://api.summics.com`.
Every Request should be at most 100MB of content. If it is more you will receive an 413 error code.
# Authentication [/auth]
Provides a token to be included with every REST request. The token expires when it is not used for 6 hours.
## Authenticate [POST]
+ Parameters
+ `clientId` Your client ID string.
+ `secret` Your API secret key.
+ Response 200 (application/json)
{
"token": <String>
}
# Authorization
All further API calls requires an API `token` in the request `Header`.
+ Headers
Authorization: <Token String>
# Projects [/projects]
## List projects [GET]
Retrieves a list with all projects.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>,
"sources": [
"id": <String>,
"name": <String>
]
},
...
]
# Topics [/topics]
## List topics [GET]
Retrieves a list with all topics for a given `projectId`. It *must* be any ID returned by `/projects` request.
+ Parameters
+ `projectId` The ID of a project.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>
},
...
]
# Topics Overview [/topics/overview]
## Lists all active topics within a time period [GET]
Retrieves a list with all `sources`'s active topics between `fromDate` and `toDate` . `sources` *must* an array with IDs returned by `/projects` request.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>,
"postCount": {
"current": <Number>,
"previous: <Number>
},
"charCount": {
"current": <Number>,
"previous: <Number>
},
"userCount": {
"current": <Number>,
"previous: <Number>
},
"sentimentScore": {
"current": <Number>,
"previous: <Number>
}
},
...
]
# Texts [/texts]
## List texts [GET]
Retrieves a list with all texts for the parameters below.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ `topics`:
`[<String>]` *Optional* An array with topic IDs that were returned with `/topics` request.
+ Response 200 (application/json)
[
{
"id": <String>,
"text": <String>,
"sentiment": <Number>,
"author": <String>,
"timestamp": <String>,
"source": <String>,
"postLink": <String>,
"topics": [
{
"id": <String>,
"name": <String>
}
]
},
...
]
## Add Texts [PUT]
Pushes some texts into Summics.
+ Parameters
+ `sourceId`:
`<String>` The ID of the source to add the texts to. Source IDs are provided together with projects.
+ `texts`:
`[<Object>]` The list of texts to insert. See Structure below.
+ `text`:
`<String>` The text body
+ `postId`:
`<String|Number>` The unique identifier of a text
+ `timestamp`:
`<String>` The timestamp of the text
+ `user`:
`<String>` The author
+ `customField1`
`<String>` Custom field value
+ `customField2`
`<String>` Custom field value
+ Response 200 (application/json)
{
"imported": [<String>],
"errors": [
{
"original": { ... },
"error": <String>
}
]
}
### Additional Information
Each text is processed individually. If an error occurs on one text the other texts may be imported nonetheless.
The result indicates which texts where imported correctly. For each erroneous text the reason is returned.
The `postId` supplied with each text should be unique within the context of one source.
*If a text with the same ID already exists, it will be overwritten.*
The request only returns after the initial processing of all texts is finished, so it may take some time.
The `timestamp` should be a valid ISO 8601 string.
The fields `customField1`, `customField2` ... are custom defined fields. You can create an unlimited amount of custom fields
and name them anything except for the predefined names (user, postId, text etc.).
# Dashboard [/dashboard]
## View dashboard data [GET]
The information displayed on *Summics Dashboard* is returned.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ Response 200 (application/json)
{
"contentAndSentiment": <Object>,
"activityPerHour": <Array>,
"generalActivity": <Object>
}
+ `contentAndSentiment`:
{
"contentDistribution":
{
"meaningful": <Number>,
"noTopics": <Number>,
"total": <Number>
},
"sentimentDistribution":
{
"negativeCount": <Number>,
"neutralCount": <Number>,
"positiveCount": <Number>
}
}
+ `activityPerHour`:
[
{
"hour": <Number>,
"count": <Number>
},
...
]
+ `generalActivity`:
{
"timestamp": <String>,
"source": <String>,
"charCount": <Number>,
"textCount": <Number>,
"negativeCount": <Number>,
"neutralCount": <Number>,
"positiveCount": <Number>
}
The *Summics API* is available at `https://api.summics.com`.
Every Request should be at most 100MB of content. If it is more you will receive an 413 error code.
# Authentication [/auth]
Provides a token to be included with every REST request. The token expires when it is not used for 6 hours.
## Authenticate [POST]
+ Parameters
+ `clientId` Your client ID string.
+ `secret` Your API secret key.
+ Response 200 (application/json)
{
"token": <String>
}
# Authorization
All further API calls requires an API `token` in the request `Header`.
+ Headers
Authorization: <Token String>
# Projects [/projects]
## List projects [GET]
Retrieves a list with all projects.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>,
"sources": [
"id": <String>,
"name": <String>
]
},
...
]
# Topics [/topics]
## List topics [GET]
Retrieves a list with all topics for a given `projectId`. It *must* be any ID returned by `/projects` request.
+ Parameters
+ `projectId` The ID of a project.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>
},
...
]
# Topics Overview [/topics/overview]
## Lists all active topics within a time period [GET]
Retrieves a list with all `sources`'s active topics between `fromDate` and `toDate` . `sources` *must* an array with IDs returned by `/projects` request.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ Response 200 (application/json)
[
{
"id": <String>,
"name": <String>,
"postCount": {
"current": <Number>,
"previous: <Number>
},
"charCount": {
"current": <Number>,
"previous: <Number>
},
"userCount": {
"current": <Number>,
"previous: <Number>
},
"sentimentScore": {
"current": <Number>,
"previous: <Number>
}
},
...
]
# Texts [/texts]
## List texts [GET]
Retrieves a list with all texts for the parameters below.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ `topics`:
`[<String>]` *Optional* An array with topic IDs that were returned with `/topics` request.
+ Response 200 (application/json)
[
{
"id": <String>,
"text": <String>,
"sentiment": <Number>,
"author": <String>,
"timestamp": <String>,
"source": <String>,
"postLink": <String>,
"topics": [
{
"id": <String>,
"name": <String>
}
]
},
...
]
## Add Texts [PUT]
Pushes some texts into Summics.
+ Parameters
+ `sourceId`:
`<String>` The ID of the source to add the texts to. Source IDs are provided together with projects.
+ `texts`:
`[<Object>]` The list of texts to insert. See Structure below.
+ `text`:
`<String>` The text body
+ `postId`:
`<String|Number>` The unique identifier of a text
+ `timestamp`:
`<String>` The timestamp of the text
+ `user`:
`<String>` The author
+ `customField1`
`<String>` Custom field value
+ `customField2`
`<String>` Custom field value
+ Response 200 (application/json)
{
"imported": [<String>],
"errors": [
{
"original": { ... },
"error": <String>
}
]
}
### Additional Information
Each text is processed individually. If an error occurs on one text the other texts may be imported nonetheless.
The result indicates which texts where imported correctly. For each erroneous text the reason is returned.
The `postId` supplied with each text should be unique within the context of one source.
*If a text with the same ID already exists, it will be overwritten.*
The request only returns after the initial processing of all texts is finished, so it may take some time.
The `timestamp` should be a valid ISO 8601 string.
The fields `customField1`, `customField2` ... are custom defined fields. You can create an unlimited amount of custom fields
and name them anything except for the predefined names (user, postId, text etc.).
# Dashboard [/dashboard]
## View dashboard data [GET]
The information displayed on *Summics Dashboard* is returned.
+ Parameters
+ `sources`:
`[<String>]` An array with source IDs that were returned with a project.
+ `fromDate`:
`<String>` It *must* be an **ISO Date** string.
+ `toDate`:
`<String>` It *must* be an **ISO Date** string.
+ Response 200 (application/json)
{
"contentAndSentiment": <Object>,
"activityPerHour": <Array>,
"generalActivity": <Object>
}
+ `contentAndSentiment`:
{
"contentDistribution":
{
"meaningful": <Number>,
"noTopics": <Number>,
"total": <Number>
},
"sentimentDistribution":
{
"negativeCount": <Number>,
"neutralCount": <Number>,
"positiveCount": <Number>
}
}
+ `activityPerHour`:
[
{
"hour": <Number>,
"count": <Number>
},
...
]
+ `generalActivity`:
{
"timestamp": <String>,
"source": <String>,
"charCount": <Number>,
"textCount": <Number>,
"negativeCount": <Number>,
"neutralCount": <Number>,
"positiveCount": <Number>
}
Release files for summics 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| summics-1.1.0.zip | 3.5 kB | Details |
Release files / summics-1.1.0.zip
| Download URL | summics-1.1.0.zip |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ccc4adac388ee41c621e8ff0427710ad60ee3ff2eb16b89f851c230ffac39079
|
|
BLAKE2b-256 checksum How to use checksums |
93a8bda8bc7bcb244540de4a317c70d3888046f275be79f7c0ff680bf61db974
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |