{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"217373ad-205e-4bd2-883d-3bb60008d9dc","name":"Pulsar Developer Platform","description":"The signals API allows a client to request signals fulfilling a certain criteria from our database.\n\n## Concepts\n\nHere we define the necessary concepts for a user to be proficient with the API. There are two main concepts that a user must know:\n\n\n* FilterElement: A FilterElement is a tuple of `(Class, Property, Values)`. It specifies that a specific Property of a Class must have one of the given Values.\n\n* Filter: A Filter is a set of FilterElements that a signal must fulfill. (One could say it's the logical AND of all the FilterElements).\n\n\nAs explained above a FilterElement is a tuple of three values. The range of accepted values all depend on the Class attribute. Currently we support three possible classes: `Company`, `Article`, and `Signal`.\n\nThere is a hierarchy when it comes to reasoning about the classes that is very easily understood from the following phrase:\n\n_A Signal is attached to an Article about a specific Company_\n\nThis tells us that if we define, for example, a `Company` FilterElement and a `Signal` one, the resulting signals mathcing the Signal filter will all have to be inferred from an article that was about a company that passed the Company filter.\n\n## How to use it\nThere are two modes of operation for the Signals API: With or without creating a filter.\nBoth methods are compatible and there is a 1:1 mapping between them. We'll first explore the method for using it with the creation of a filter.\n\nAfter creating and defining the `Filter`, the user has to then query the `/signals` endpoint and specify the list of filters to use via their ID. One thing to note is that **a signal will be accepted if it matches at least one of the filters**.\n\nThe alternative path for querying the Signals API is produced when not specifying a filter ID in the `/signals` endpoint. In this manner, the API will proceed to build an implicit filter via the specified query parameters and proceed with it, returning the matching signals.\n\nAll the parameters of the FilterElement are available in query parameter format. To convert between the triple `(Class, Property, Values)` the conversion to query param form is `filter[Class][Property]=Value1&filter[Class][Property]=Value2&filter[Class][Property]=Value3&...`\n## Example.\n\nWe will give the examples via an HTTP message representation of the resquest followed with the response separated by \"---\". We first have to define the Filter, as explained above. In this example we will assume we want to filter for signals about a company with the FCode \"FOOBAR\".\n\n\n```\nPOST /filters\nX-Customer-Id: <MY-CUSTOMER-ID>\n\n{\n  \"data\": {\n    \"type\": \"signals\",\n    \"attributes\": {\n      \"elements\": [\n        {\n          \"class\": \"Company\",\n          \"property\": \"fcode\",\n          \"values\": [\"FOOBAR\"]\n        }\n      ]\n    }\n  }\n}\n---\n{\n  \"data\": {\n    \"id\": \"123e4567-e89b-12d3-a456-426655440000\",\n    \"type\": \"signals\",\n    \"attributes\": {\n      \"elements\": [\n        {\n          \"class\": \"Company\",\n          \"property\": \"fcode\",\n          \"values\": [\"FOOBAR\"]\n        }\n      ]\n    }\n  }\n}\n```\n\n\nWe have now defined our filter and the server has told us that the id of it is 123e4567-e89b-12d3-a456-426655440000. To use it we now have to do a second request, let's assume we want the signals that fulfill our previous filter between the 1st and 2nd of October of 2019:\n\n\n```\nGET /signals?filterIds=123e4567-e89b-12d3-a456-426655440000&dateBegin=2019-10-01T00:00:00Z&dateEnd=2019-10-02T00:00:00Z\nX-Customer-Id: <MY-CUSTOMER-ID>\n---\n{\n  \"data\": [\n    {\n      \"id\": \"yGCTpuq8AI5V5bb931zMKdKIyaiQGBme5bAEnm1t67M=\",\n      \"type\": \"signals\",\n      \"attributes\": {\n        \"snippet\": \"FOOBAR International has expanded its presence in North America\",\n        \"an\": \"NAFTA00020191219efci00001\",\n        \"publication_date\": \"2019-10-01T20:00:00.000Z\",\n        \"filter_match\": {\n          \"filter_id\": \"123e4567-e89b-12d3-a456-426655440000\",\n          \"company\": {\n            \"fcode\": \"FOOBAR\"\n          }\n        },\n        \"signal_properties\": {\n          \"expansion\": \"expand\",\n          \"company\": \"FOOBAR International\",\n          \"place\": \"North America\"\n        },\n        \"signal_type\": \"company_expansion\",\n        \"template_name\": \"COMPANY_EXPANSION_1\",\n        \"category\": \"Company Expansion\"\n      }\n    }\n  ]\n}\n```\nAlternatively, we can query without creating the Filter in the first place via the implicit filter as follows:\n```\nGET /signals?filter[company][fcode]=FOOBAR&dateBegin=2019-10-01T00:00:00Z&dateEnd=2019-10-02T00:00:00Z\nX-Customer-Id: <MY-CUSTOMER-ID>\n---\n{\n  \"data\": [\n    {\n      \"id\": \"yGCTpuq8AI5V5bb931zMKdKIyaiQGBme5bAEnm1t67M=\",\n      \"type\": \"signals\",\n      \"attributes\": {\n        \"snippet\": \"FOOBAR International has expanded its presence in North America\",\n        \"an\": \"NAFTA00020191219efci00001\",\n        \"publication_date\": \"2019-10-01T20:00:00.000Z\",\n        \"filter_match\": {\n          \"filter_id\": \"123e4567-e89b-12d3-a456-426655440000\",\n          \"company\": {\n            \"fcode\": \"FOOBAR\"\n          }\n        },\n        \"signal_properties\": {\n          \"expansion\": \"expand\",\n          \"company\": \"FOOBAR International\",\n          \"place\": \"North America\"\n        },\n        \"signal_type\": \"company_expansion\",\n        \"template_name\": \"COMPANY_EXPANSION_1\",\n        \"category\": \"Company Expansion\"\n      }\n    }\n  ]\n}\n```\nAnd with this we have the desired signals.\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"1733838","team":4987306,"collectionId":"217373ad-205e-4bd2-883d-3bb60008d9dc","publishedId":"SztG35tv","public":true,"publicUrl":"https://docs.developer.pulsar.dowjones.ai","privateUrl":"https://go.postman.co/documentation/1733838-217373ad-205e-4bd2-883d-3bb60008d9dc","customColor":{"top-bar":"FFFFFF","right-sidebar":"017EA8","highlight":"017EA8"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2020-06-02T11:28:37.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Developer Platform (Public)","id":"2466d79c-b98e-4823-af36-919b3387e0d8","owner":"1733838","values":[{"key":"baseUrl","value":"https://api.dowjones.com/knowledge-graph","enabled":true},{"key":"accessToken","value":"","enabled":true},{"key":"accessTokenExpiry","value":"","enabled":true},{"key":"idToken","value":"","enabled":true},{"key":"authUrl","value":"https://accounts.dowjones.com/oauth2/v1/token","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/64480eb43ed389c89ae12c9a542ced76baa85f885e1c921f6ee261444a86f2f0","favicon":"https://dowjones.ai/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Developer Platform (Public)","value":"1733838-2466d79c-b98e-4823-af36-919b3387e0d8"}],"canonicalUrl":"https://docs.developer.pulsar.dowjones.ai/view/metadata/SztG35tv"}