API Documentation


Welcome to the Silobreaker API documentation. Here you'll find reference information about all existing endpoints in the Silobreaker API as well as code and usage samples.


Please refer to API Samples for code & CLI samples and sample API links.


The Silobreaker API support several means of authentication, and all requests to it need to be authenticated. See authentication for more information and sample authentication code.


Many endpoints in the API takes a Silobreaker query as a q parameter. All query parameters accept the full Silobreaker search syntax. Please refer to the Silobreaker User Manual for information on the query syntax.


The Silobreaker API is currently undergoing a revision, with new endpoints being versioned as /v1. This documentation contains information about both the new /v1 endpoints, and the original endpoints.

If available, use the /v1 versioned endpoint. Any original counterpart is deprecated.

Response Types

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 format to the desired format.

Example: /documents/United Nations?format=atom10

The following formats are supported:


Getting Started & Samples

Getting started The Silobreaker API is straightforward and to a large extent mirrors the functionality of the Silobreaker UI.
Sample links Below are some sample api calls that shows some of the features of the API.
Code samples Code samples in various languages.
CLI samples Samples for interacting with the Silobreaker API using CURL and a CLI.


Authenticating requests using API key Requests using an API key must provide both an API key, and an API call digest based on a shared secret.
Authenticating using authentication cookie For building browser-based clients, the Silobreaker API provides cookie-based authentication.
POST /v1/login/ Sets a session cookie which authenticates further calls to the API.
GET /v1/logout, POST /v1/logout Logs the current user out.
GET /v1/loginstatus, POST /v1/loginstatus Checks the login status.
POST /v1/changepassword Changes the users password.

Query Syntax & Entity types

Query Syntax When using the Silobreaker API, you will frequently send queries for documents and entities to retrieve relevant data.
Entity types When querying, you will frequently request results of a specific entity type, or query for documents containing certain entity types.


GET /app/config Gets the user's app configuration.
GET /app/style Gets the user's app stylesheet.
GET /app/script Gets the app's javascript library.


GET /document/comments Gets the comments for a specific document.
GET /document/attachments Gets attachments for a document.
GET /document/keywords Gets the keywords assigned to a document.
GET /document/categories Gets the categories assigned to a a document.


GET /documents Alias endpoint for /search/documents.


GET /entities Searches for entities matching a query.
GET /entities/heat Gets the heat for a set of entities.
GET /entities/evidence Gets an evidence snippet from recent news.
GET /entities/property Serches entity metadata for entites by property name (dimension) and value.
GET /entities/geo Extracts entities that has geographical coordinates (such as cities and sites) and that are related to a query.
GET /entities/refresh Refreshes a list of entities.


GET /entity Gets metadata for a specific entity.
GET /entity/add Creates a new entity.
GET /entity/request Sends a request to Silobreaker QA for the addition of an entity.


GET /graph Get data to build a graph.


GET /mypagetab Gets all information about a tab and it's widgets.
GET /mypagetab/clone Clone a MyPage tab to the caller's account.
GET /mypagetab/delete Delete a MyPage tab or remove access to it if it's a tab shared to you.
GET /mypagetab/create Create a new MyPage tab for the user.
GET /mypagetab/move Move a MyPage tab.
GET /mypagetab/update Update an existing mypagetab.
GET /mypagetab/islatestversion Checks if the supplied MyPage tab has been changed.
GET /mypagetab/layout/update Updates the layout of widgets on a MyPage tab.
GET /mypagetab/export Exports a MyPage tab and all it's contents to xml, rtf, docx or html.


GET /mypagetabs Gets all mypagetabs the current user has access to.


GET /project Lists all the items in a project.
GET /project/share DEPRECATED.
GET /project/delete Deletes a project.
GET /project/access Gets who has access to the project.
GET /project/clone Clones a project.
GET /project/setDescription Sets the description of a project.
GET /project/add Create a new project.
GET /project/addItems Add one or more items to the project.
GET /project/removeItem Remove items from the project.
GET /project/removeItems Remove items from the project.
GET /project/export Exports a project to one of the following formats: xml, rtf, docx, html.
GET /project/subscribe Subscribes to changes in a project shared to you.
GET /project/unsubscribe Unsubscribe to changes from a project.
GET /project/distributors Gets a list of distributors connected to a specific project.
GET /project/subscribers Gets a list of subscribers connected to a specific project.


GET /projects Gets all projects the current user has access to.
GET /projects/withitem Gets all projects containing a certain item.


GET /search/geoevents Gets stories and dominant city matching a query.
GET /search/topstories Gets top stories relevant to the query.
GET /search/social Searches selected social media providers for matches to the given query.
GET /search/documents Retrieves documents that match the query.
GET /search/quotes Gets quotes matching a document query.
GET /search/documents/property Gets documents that has a property with a specific value.
GET /search/provider Searches for a document that has a specific provider--reference pair.


GET /statistics/documentvolume Get the number of documents matching a query as a histogram of document volumes over a given time window.
GET /statistics/documentcount Fetches the document count, optionally split into different facets.
GET /statistics/relatedentities Get the related terms from a query.
GET /statistics/relatedtopics Get the topics related to a query.


GET /user Get information about the current user. To view other users within the system, a higher level of access is needed.
GET /user/access Use this api request to resolve what resources the current user has access to.
GET /user/property Look up a property connected to the current user.
GET /user/property/update Update a given property for the current user.


GET /utility/getJs Internal API request.
GET /utility/getImage Internal API request.
GET /utility/queryBeautifier Internal API request.


GET /widget Gets settings and metadata for a widget.
GET /widget/delete Deletes an existing widget.
GET /widget/save Save a widget. If the widget did not exist before, it will be created.
GET /widget/rss Creates and gets an RSS feed/link for the supplied widget.
GET /widget/export Exports the contents of a widget into xml, rtf, docx or html.


GET /v1/apikey/ List the api keys for a given user.
POST /v1/apikey Create an api key for a given user.
DELETE /v1/apikey Delete a specific api key.


GET /v1/autoComplete The auto-complete API call takes a search string or a partial search-string and returns a list of suggested completions.


GET /v1/infocus/ Get documents in a specific collection given a query.


GET /v1/companies/ List all companies that the user has the right to see.
GET /v1/companies/:user-group-id Returns a specific company.
GET /v1/companies/:user-group-id/departments Returns a list of departments for the company specified by user-group-id.


GET /v1/departments/ Lists the departments for the calling user, if it is an admin user then all departments will be listed.


GET/POST /v1/entityrelevance


GET /v1/healthstatus/


POST /v1/heat Calculates the heat, a measure of how much more than usual an entity is mentioned, for a given entity.
GET /v1/heat Calculates the heat, a measure of how much more than usual an entity is mentioned, for a given entity.


GET /v1/highlight/ Gets the data needed to highlight a document with words or phrases that has matched a given search string.


GET /v1/infocus/ Gets the most relevant entities for the given query.


GET /v1/mypagetabs/ Lists the mypagetabs created by the current user, as well as the mypagetabs shared to the user.
GET /v1/mypagetabs/:project-item-id Returns a mypagetab specified by project-item-id.
GET /v1/mypagetabs/:id/projects Gets the dependencies of a mypage tab.


POST /v1/network Calculates entity relationships suitable for drawing as a network.


POST /v1/Package/upload Upload a Silobreaker package with the POST verb as binary to the server.


GET /v1/projects Lists the projects the user has access to.
GET /v1/projects/:project-item-ref Retrieves information for one specific project.


GET /v1/properties/{Id} Request: GET /v1/properties/{Id} Parameter: Id
Response: Returns property for matching properyId.
GET /v1/properties/ Request: GET /v1/properties?attachedToItemRef={attachedToItemRef}&PropertyType={propertyType} Parameter: attachedToItemRef, optional propertyType (e.g. Entity Image)
Response: Returns all properties attached to attachedToItemRef, includes both set and not-set properties if propertyType is not set.
POST/PUT /v1/properties Add or update the property value for specified AttachedToItemRef and PropertyType.
POST/PUT /v1/properties/addimage Upload entity image to filestorage and create a property pointing to that image for item with id = AttachedToItemRef. Response contains a list of all images attached to that item.
DELETE /v1/properties/{Id} Deletes current and historically set values for property with matching id.


GET /v1/providers/ Lists the existing providers.
GET /v1/providers/:id Get a single provider.
POST /v1/providers Create a provider.
GET /v1/providers/:id/access Lists the companies, departments and users that has access to the given provider.
POST /v1/providers/:id/access Adds access to a provider for companies, departments and users, specified by the provider with id.
POST /v1/providers/access Add access to multiple providers for companies, departments and users.
DELETE /v1/providers/:id/access Remove access for a specific provider.
DELETE /v1/providers/access Remove access for multiple providers.


GET /v1/reportorders/:report-order-id Gets the settings for the email report given by {report-order-id}.
POST /v1/reportorders/ Creates a mypage email report and returns the created reportorder.
PUT /v1/reports/:report-order-id Updates the reportorder with the given :report-order-id.
DELETE /v1/reports/:report-order-id Delete a reportorder with the given :report-order-id.
POST /v1/reportorders/:report-order-id/sendemail Email a reportorder with the given :report-order-id
GET /v1/reportorders/:report-order-id/sendemail Email a reportorder with the given :report-order-id with a 7 day filter.


GET /v1/reports/ Lists the reports created by the current user, as well as the reports shared to the user.
GET /v1/reports/:report-id Returns a report specified by {report-id}.
POST /v1/reports/ Creates a report. The request body must be a JSON object describing the report.
POST /v1/reports/ x-copy-report :reportId Create a copy of a report and it's content.
PUT /v1/reports/:report-id Updates an already existing report.
DELETE /v1/reports/:report-id Deletes a report.
GET /v1/reports/:report-id/export Exports the content of a report as a list of all the contained objects, represented as a JSON object.
GET /v1/reports/:report-id/export-nested Exports the content of a report as a JSON object, where child items are included in their parent item.
GET /v1/reports/:reportId/items/ Fetches all the items a report contains.
GET /v1/reports/:reportId/items/:version Fetches all the items a report contains at a specific version.
GET /v1/reports/:reportId/items/:itemId Fetches the data for a specific item requested.
POST /v1/reports/:reportId/items/sections/ Creates a section header in the report.
POST /v1/reports/:reportId/items/savedArticlesData/ Adds a collection to the report.
PUT /v1/reports/:reportId/items/:itemtype/:itemId Updates the data for a specific item specified. Variants:
DELETE /v1/reports/:reportId/items/:itemId Deletes the item specified.


POST /v1/svgtopng Upload an svg file with the POST verb as multipart form. The response will be a png file named sb_image.png if the optional filename is not provided.


GET /v1/twitter/search Search for tweets by either providing a twitter query or automatically generate one from a silobreaker query.
GET /v1/twitter/toquery Use this to preview what twitter query silobreaker will generate from a given silobreaker query. Will return just the generated query.


GET /v1/youtube/ The YouTube API call returns videos based on the given query and settings.

Documentation generated by mdoc.