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.

Getting Started & Samples

Please refer to Getting Started & Samples for a short primer on how to start working with the API, and some useful sample API links that shows basic usage. You'll also find code samples in various languages for authenticating and making calls to the API.


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 one of the parameters. All Silobreaker query parameters support the full Silobreaker search syntax. Have a look at Query Syntax & Entity Types for more information on learning the syntax and the entity types available in the API.


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 unversioned endpoints.

If available, use the /v1 versioned endpoint. Any unversioned 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:

Error handling

Look at error handling for more information


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/ Login a user by setting a session cookie which authenticates further calls to the API. Supports logging in with multi-factor authentication (MFA) if that is activated for the user.
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.

Error handling

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 Searches entity metadata for entities 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/departments/ List all departments that the user has the right to see. If CompanyId is set, only departments within that company will be returned.
GET /v1/departments/{UserGroupId} Returns a specific department


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/imageproperties Get all image properties attached to a given entity.
POST /v1/imageproperties Add a new image to an entity.
PUT /v1/imageproperties/{id} Update metadata for a specific image.
DELETE /v1/imageproperties/{id} Remove an image from its entity.
Error responses


POST /v1/impersonation/ Create a new ticket. The response contains a link to a page where the target user can approve or revoke the ticket.
GET /v1/impersonation/{id} Get ticket
POST /v1/impersonation/{id}/approve Approve ticket
POST /v1/impersonation/{id}/revoke Revoke ticket
POST /v1/impersonation/{id}/close Close ticket
POST /v1/impersonation/{id}/activate Start impersonation session using target user's account
POST /v1/impersonation/deactivate Stop current impersonation session
Error Response


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


GET /v1/mfa Get the MFA status for the logged in user.
PUT /v1/mfa Set the type of MFA to use, either TOTP or HOTP. HOTP will be served by sending an email with the one-time password.
DELETE /v1/mfa Delete the secret belonging to the authenticated user.
GET /v1/mfa/setupcodes Generate a base64 string of a qrcode with the payload needed for TOTP or HOTP. The URI is generated according to Google standard.
If the user has activated the MFA through v1/mfa/activate then this endpoint will only return an error.
GET /v1/mfa/activate Activate TOTP MFA. TOTP will not be used until the user has activated it and only TOTP can be activated.
GET /v1/mfa/sendcode Send out the current code through email if the user is using MFA with email.
GET /v1/mfa/verify Verify that a generated one-time password is correct.


POST /v1/mylist Add entities to lists in mentioned in the csv file
PUT /v1/mylist This endpoint is the same as the post above, except it will replace the entities on the list rather than add to them.


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 propertyId.
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.
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.


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


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/timezones/ Lists all time zones available in Silobreaker.


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/users/ List all users that the requesting user has the right to see.
GET /v1/users/current Returns the user that is logged in.
GET /v1/users/{Id} Returns the user that is logged in.
POST /v1/users Create a new user
PATCH /v1/users/{Id} Edit user
GET /v1/users/fields?mode={Mode} Returns field rules that apply when creating or updating a user. Possible field types are Required, Optional or ReadOnly.


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

Documentation generated by mdoc.