A request to the API must be authenticated, either by using a key, or by having a valid session cookie set.
If no key is provided, and no cookie is set, it is interpreted as the key being set to the empty string. The key is set by adding the parameter
apiKey to the url.
Keys may require a digest to ensure that the request is valid. This is provided by adding the parameter
digest to the url. When using the api through an external service, this service will have to calculate the digest if it is required. This is done by using a shared secret key that is provided when the apiKey is acquired.
The digest is calculated as described by the following pseudo-code:
Key = "MySharedKey"
UTF8Key = UTF8Encode(Key)
// This is a HTTP GET request
Message = "GET https://api.silobreaker.com/search/documents/Sweden"
UTF8Message = UTF8Encode(Message)
// Will output Gh9YtyvJvF39Isfn9QFo2nNkQkI=
Signature = Base64(HMAC-SHA1(UTF8Message, UTF8Key));
The final request will look like:
login for further details on how to authenticate a user via the API.
The API supports several of response format types. The most common ones are Xml and Json which both can be used for all requests. Other more specialised formats are Atom 1.0 and Html which can be used for document list results.
To switch response type, simply set parameter
type to the desired format.
The following formats are supported:
- xml (default)
- jsonp (use this with parameter “callback” to specify callback function)
- atom (only supported by document lists)
- html (only supported by document lists)
- Login through the Api and receive a cookie to stay logged in.
- Logout the current user.
- Checks if a user is logged in.
- Changes the current user’s password.
- Search for documents with geographic information related to the query.
- Search for stories, groups of documents that are thematically related.
- Search through social media for mentions of the query.
- Search the youtube api with our syntax.
- Search through twitter.
- Search for documents that match the query.
- Search for quotes that matches the query.
- Returns the number of documents in equal time-span bins.
- Returns the number of documents that matches the query, faceted by a number of different options such as publications, document sets, etc.
- Returns a list of entities related to the search.
- Returns a list of topics related to the search.
- Get comments for the given
- Get attachments for the given
- Get keywords for the given
- Get categories for the given
- Create a new term.
- Request that a new term be added.
- Check if a given term is available.
- Refresh a list of terms.
- Returns the heat for the entities given.
- Extracts an evidence snippet from recent news - a short piece of text displaying the supplied entity in context in an article.
- Get entites with a certain property
- Returns entities with geographical coordinates related to the query
- Search for entities related to the query
- Get information about an entity.
- Retrieves a list of all the items in the project. This means entities for projects of type
entityList and documents for projects of type
- Resolve a project shared through a secured link
- Delete the given project
- Returns a list of users and usergroups who have access to the project
- Clones the project
- Set a new description for the project
- Create a new project with the given description and project type
- Add an item to the project
- Remove an item from the project
- Remove the given list of items from the project
- Export the information from a project into one of the following formats: xml, html, rtf, docx
- Subscribe changes from a project. It uses a publish-subscribe pattern meaning that the subscriber can’t change any info on the publisher.
- Unsubscribe changes from a project. Given that there is a subscribe set up it will remove it.
- Gets a list of distributors connected to a specific project. A distributor is something that a project can subscribe changes from.
- Gets a list of subscribers connected to a specific project. A subscriber is something that this specific project will send changes to.
- Return projects that has the given item
- Return all projects that the user has access to, with details of ownership and write access.
- Return all mypagetabs that the user has access to, with details of ownership and write access.
- Check if there are any changes to the MyPage tab
- Update the layout of the widgets on the MyPage tab
- Create a new MyPage tab
- Delete a MyPage tab or remove access to it if you don’t own it
- Update a MyPage tab
- Clone a MyPage tab that you have access to and make it your own.
- Export the information from a myPageTab into one of the following formats: xml, html, rtf, docx
- Get all widgets and basic information about the given MyPage tab
- Get information about a widget
- Save the settings of widget
- Delete the widget
- Retrieves the widget’s documents represented as an rss feed.
- Export the information on the widget into one of the following formats: xml, html, rtf, docx
- Given a specific query return information needed to build a graph representation of the data.
- Get info about the current user, such as username, fullname, etc.
- Checks if the given user has access to the list of
- Look up a property connected to the current user.
- Update the property connected to the current user.
- Get a single reportOrder, if it can’t find a reportOrder then it will return a default reportOrder.
- The reportorder will run and email out the result to the configured email addresses.
- Update an existing or save a new reportOrder.
- Delete an existing reportOrder, if no reportOrder is found an error is thrown.
- Loads the image for the current user. Not recommended for public use.
- Resolves a descriptive name from the query
q. Not recommended for public use.
- Returns the current config for the user. Not recommended for public use.
- Returns the style files for the current user. Not recommended for public use.
- Returns the script files for the current user. Not recommended for public use.