Submit Bitvore Cellenus Entity API connector (#534)

* Submit Bitvore Cellenus Entity API connector

* Updates based on PR feedback

* Updating title

Co-authored-by: Erik Lustgarten <elustgarten@nuvalence.io>
This commit is contained in:
Erik L 2020-11-03 17:53:02 -05:00 коммит произвёл GitHub
Родитель cf6823568c
Коммит f07b71ae19
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 827 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,31 @@
# Bitvore Entity API
## Description
The corporate entities, companies or organizations, that the articles the Corporate News API returns are persisted in the Bitvore Knowledge Graph. The Entity API provides access to the information about those corporate entities.
![Entity Information](https://s3.amazonaws.com/static.assets.bitvore.com/api-docs/entity.png)
Companies can be searched for based on some criteria or directly using a Bitvore ID which uniquely identifies an entity in the Bitvore system. When using the Bitvore ID the entire company profile will be returned for that single company. If one is unsure what the Bitvore ID of a company is a search can be performed using different profile properties such as name, ticker, industry, etc. The API will return all companies that match the search criteria. Only summary information is returned but it should be enough information to identify the exact company being searched for. Once the Bitvore ID is found news can be retrieved for the company using the Corporate News API.
![Entity Lookup](https://s3.amazonaws.com/static.assets.bitvore.com/api-docs/entity-lookup.png)
The Bitvore ID for a company never changes so it is recommended that clients save the Bitvore IDs for future use instead of calling the Entity API each time if possible.
Each company has a monitoring state field which can have the value “active” or “inactive”. Active companies are being monitored by Bitvore so news is being currently collected. An inactive company will need to be activated in order to start news collection. If you see an inactive company you would like activated please contact customer support.
The Entity API is part of the corporate data set and requires a corporate data set API key for access.
API Documentation can be found [here](https://developer.bitvore.com/docs/overview/entity-api)
## Pre-Requisites
In order to utilize the Bitvore Entity API, you need to register for an API Key by contacting the [Products Team](mailto:products@bitvore.com).
## Deploying the Connector
Run the following command and follow the prompts.
```sh
paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json
```

Просмотреть файл

@ -0,0 +1,773 @@
{
"swagger": "2.0",
"info": {
"description": "The Entity API provides access to the information aboutcorporate entities. Companies can be searched for based on some criteria or directly using a Bitvore ID which uniquely identifies an entity. When using the Bitvore ID the entire company profile will be returned for that single company. In addition, a search can be performed using different profile properties such as name, ticker, industry, etc. The API will return all companies that match the search criteria.",
"version": "2.0",
"title": "Bitvore Entity",
"contact":{
"name":"Bitvore Support",
"url":"https://bitvore.com/contact-us/",
"email":"support@bitvore.com"
}
},
"host": "api.bitvore.com",
"basePath": "/entityapi",
"schemes": [
"https",
"http"
],
"consumes": [],
"produces": [],
"paths": {
"/entities": {
"get": {
"tags": [
"Entity"
],
"summary": "Organization Search",
"description": "Search can be performed using one of two approaches, a lookup or a parameterized query. A lookup takes a single string as input to matching entities. The following are the matching rules used. The search results are ordered according to the rules. \n\n 1. Exact match on name (case insensitive)\n 2. Starts with on name (case insensitive)\n 3. Exact match on domain name\n 4. Exact match on alias (case insensitive)\n 5. Exact match on ticker\n 6. Starts with on domain name\n 7. Starts with on alias (case insensitive)\n 8. Starts with on ticker\n \n\n An example of performing a lookup is as follows: \n\n ```js\n GET /entityapi/entities?lookup=acme HTTP 1.1\n Accept: application/json\n ```\n A paramaterized query takes one or more search parameters. A parameter has a name and one or more values. The search will match the company properties and relationships with the parameters and return only those that match all input parameters. The following are the supported search parameters: \n\n * name - One or more names to search for \n * ticker - One or more tickers to search for \n * domainName - One or more domain names to search for. \n * location - One or more locations companies must have their headquarters in. Locations are in the format of city/state code/country. If city or state is unspecified the appropriate / delimiters must still be included, i.e., /California/United States. Must not be used with fips or zip. \n * fips - One or more FIPS codes identifying counties or CBSAs (metropolitan/micropolitan statistical areas) companies must have their headquarters in. FIPS codes for counties can be found [here](https://www.census.gov/geo/reference/codes/cou.html). FIPS codes for CBSAs can be found [here](https://www.census.gov/population/estimates/metro-city/0312msa.txt). Maps of CBSAs can be found [here](https://www.census.gov/geo/maps-data/maps/statecbsa.html). Must not be used with location or zip. \n * zip - One or more zip codes identifying ZIP Code Tabulation Areas (ZCTAs) companies must have their headquarters in. Must not be used with location or fips. \n * naics - One or more [NAICS](https://www.naics.com/search/) codes identifying industries the companies must operate in. \n * sic - One or more [SIC](https://www.osha.gov/pls/imis/sicsearch.html) codes identifying industries the companies must operate in. \n * revRange - Revenue range (in millions) companies must fall in. The range is formated as lower-upper where lower and upper must be one of 0, 1, 10, 50, 100, 500, 1000, 10000. The upper bound can be omitted to report over 10B. Note: On 1/11/2020 the range boundary of 200 was replaced with 500 and will be no longer supported on 7/1/2020. \n * empRange - Employee range companies must fall in. The range is formated as lower-upper where lower and upper must be one of 1, 10, 50, 100, 250, 500, 1000, 5000, 10000. The upper bound can be omitted to report over 10000. Note: On 1/11/2020 the range boundary of 200 was replaced by 100 and 250 and will be no longer supported on 7/1/2020. \n ",
"operationId": "handleOrgLookupUsingGET",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "lookup",
"in": "query",
"description": "Lookup option. Value is used to match multiple fields.",
"required": false,
"type": "string",
"x-ms-summary":"lookup",
"x-ms-visibility":"important"
},
{
"name": "name",
"in": "query",
"description": "One or more names to search for.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"name",
"x-ms-visibility":"advanced"
},
{
"name": "ticker",
"in": "query",
"description": "One or more tickers to search for.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"ticker",
"x-ms-visibility":"advanced"
},
{
"name": "domainName",
"in": "query",
"description": "One or more domain names to search for.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"domainName",
"x-ms-visibility":"advanced"
},
{
"name": "location",
"in": "query",
"description": "One or more locations companies must have their headquarters in.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"location",
"x-ms-visibility":"advanced"
},
{
"name": "fips",
"in": "query",
"description": "One or more FIPS codes identifying locations the companies must have their headquarters in.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"fips",
"x-ms-visibility":"advanced"
},
{
"name": "zip",
"in": "query",
"description": "One or more zip codes identifying locations the companies must have their headquarters in.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"zip",
"x-ms-visibility":"advanced"
},
{
"name": "naics",
"in": "query",
"description": "One or more NAICS codes identifying industries the companies must operate in.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"naics",
"x-ms-visibility":"advanced"
},
{
"name": "sic",
"in": "query",
"description": "One or more SIC codes identifying industries the companies must operate in.",
"required": false,
"type": "string",
"items": {
"type": "string"
},
"collectionFormat": "csv",
"x-ms-summary":"sic",
"x-ms-visibility":"advanced"
},
{
"name": "revRange",
"in": "query",
"description": "Revenue range (in millions) companies must fall in. The range is formated as lower-upper where lower and upper must be one of 0, 1, 10, 50, 100, 200, 1000. The upper bound can be ommited to report over 1B.",
"required": false,
"type": "string",
"x-ms-summary":"revRange",
"x-ms-visibility":"advanced"
},
{
"name": "empRange",
"in": "query",
"description": "Employee range companies must fall in. The range is formated as lower-upper where lower and upper must be one of 1, 10, 50, 200, 500, 1000, 5000, 10000. The upper bound can be ommited to report over 1B.",
"required": false,
"type": "string",
"x-ms-summary":"empRange",
"x-ms-visibility":"advanced"
},
{
"name": "pageNo",
"in": "query",
"description": "Page number of the total result set to return, default is 1.",
"required": false,
"type": "integer",
"default": 1,
"format": "int32",
"x-ms-summary":"pageNo",
"x-ms-visibility":"advanced"
},
{
"name": "pageSize",
"in": "query",
"description": "Number of results out of the total result set per page to return, default is 100, maximum is 1000.",
"required": false,
"type": "integer",
"default": 100,
"format": "int32",
"x-ms-summary":"pageSize",
"x-ms-visibility":"advanced"
}
],
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#/definitions/OrgSearchResponse"
}
},
"400": {
"description": "Invalid parameter used.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"401": {
"description": "Unauthorized to view organizations.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"500": {
"description": "Internal error.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
}
}
}
},
"/entities/{id}": {
"get": {
"tags": [
"Entity"
],
"summary": "Organization Details",
"description": "Returns detailed information about the company with the given Bitvore ID. The full set of company : fields are returne by this call. An example of retrieving the details of a company with a specified Bitvore ID is \n\n ```js\n GET /entityapi/entities/b0004i9h2 HTTP 1.1\n Accept: application/json\n X-CLIENTAPP-APPID: BVAPI\n ```\n \n\n A sample successful response is: \n\n ```js\n { \n \t\"id\": \"b0004i9h2\", \n \t\"name\": \"LinkedIn\", \n \t\"domainName\": \"linkedin.com\", \n \t\"revenue\": \"1000-\", \n \t\"employees\": \"5000-10000\", \n \t\"city\": \"Sunnyvale\", \n \t\"state\": \"CA\", \n \t\"country\": \"United States\", \n \t\"monitored\": \"active\", \n \t\"naicsIndustry\": { \n \t\t\"code\": \"54151\", \n \t\t\"name\": \"Computer Systems Design and Related Services\" \n \t}, \n \t\"sicIndustry\": { \n \t\t\"code\": \"737\", \n \t\t\"name\": \"Computer Programming, Data Processing, And Other Computerrelated\" \n \t}, \n \t\"parent\": { \n \t\t\"id\": \"b00001adv\", \n \t\t\"name\": \"MICROSOFT CORPORATION\", \n \t\t\"ticker\": \"MSFT\", \n \t\t\"domainName\": \"microsoft.com\", \n \t\t\"state\": \"WA\", \n \t\t\"country\": \"United States\", \n \t\t\"linkedInUrl\": \"https://www.linkedin.com/company/1337\", \n \t\t\"twitterUrl\": \"https://twitter.com/LinkedIn\", \n \t\t\"monitored\": \"active\" \n \t}, \n \t\"ultimateParent\": { \n \t\t\"id\": \"b00001adv\", \n \t\t\"name\": \"MICROSOFT CORPORATION\", \n \t\t\"ticker\": \"MSFT\", \n \t\t\"domainName\": \"microsoft.com\", \n \t\t\"state\": \"WA\", \n \t\t\"country\": \"United States\", \n \t\t\"monitored\": \"active\" \n \t} \n } \n ```\n",
"operationId": "handleGetOrgUsingGET",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "id",
"required": true,
"type": "string",
"x-ms-summary":"id",
"x-ms-url-encoding":"single",
"x-ms-visibility":"important"
}
],
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#/definitions/OrganizationDetails"
}
},
"400": {
"description": "Invalid parameter used.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"401": {
"description": "Unauthorized to view organizations.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"500": {
"description": "Internal error.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
}
}
}
},
"/matches": {
"post": {
"tags": [
"Entity"
],
"summary": "Organization Matching",
"description": "Attempts to find companies matching input specifications made up of a list of property values. Multiple companies can be matched in a single call. For each company to match a list of properties and values known by the client (the input specification) are passed in. If possible the system will return a single matching company for each input specification. If more than one company matches an input specification and there is not one company that is more qualified than the others all the candidates will be returned. The following are the company properties that can be used in input specifications. More than one value can be supplied for each indicating a match of any of the values will be acceptable. \n * Name \n * DomainName \n * Ticker \n * NAICSCode \n * SICCode \n * City \n * StateCode \n * Country \n \n\n In the following example we'll try to match two companies. In this case they will actually be companies with the same name but by using different properties in the specifications we can see how the system matches differently. The first specification will include the company name and the state it's in. The second specification will include the company name and its domain name. \n\n ```js\n POST /matches \n Content-Type: application/json \n Accept: application/json \n X-BV-APIKEY: xyz123... \n\n [ \n \t{ \n \t\t\"Name\": [\"Bank of Commerce\"], \n \t\t\"StateCode\": [\"OK\"] \n \t}, \n \t{ \n \t\t\"Name\": [\"Bank of Commerce\"], \n \t\t\"DomainName\": [\"bocokonline.com\"] \n \t} \n ] \n ```\n The response to this request will have two sets of matching candidates: \n\n ```js\n [ \n \t{ \n \t\t\"spec\": { \n \t\t\t\"Name\": [\"Bank Of Commerce\"], \n \t\t\t\"StateCode\": [\"OK\"] \n \t\t}, \n \t\t\"candidates\": [ \n \t\t\t{ \n \t\t\t\t\"org\": { \n \t\t\t\t\t\"id\": \"d0007i2x0\", \n \t\t\t\t\t\"name\": \"Bank of Commerce\", \n \t\t\t\t\t\"domainName\": \"bocokonline.com\", \n \t\t\t\t\t\"state\": \"OK\", \n \t\t\t\t\t... \n \t\t\t\t}, \n \t\t\t\t\"hits\": [\"Name\",\"StateCode\"] \n \t\t\t}, \n \t\t\t{ \n \t\t\t\t\"org\": { \n \t\t\t\t\t\"id\": \"d00078oes\", \n \t\t\t\t\t\"name\": \"Bank of Commerce\", \n \t\t\t\t\t\"domainName\": \"bocokla.com\", \n \t\t\t\t\t\"state\": \"OK\", \n \t\t\t\t\t... \n \t\t\t\t}, \n \t\t\t\t\"hits\": [\"Name\",\"StateCode\"] \n \t\t\t}, \n \t\t\t{ \n \t\t\t\t\"org\": { \n \t\t\t\t\t\"id\": \"d0007v0mn\", \n \t\t\t\t\t\"name\": \"BANK OF COMMERCE\", \n \t\t\t\t\t\"state\": \"OK\", \n \t\t\t\t\t... \n \t\t\t\t}, \n \t\t\t\t\"hits\": [\"Name\",\"StateCode\"] \n \t\t\t} \n \t\t] \n \t}, \n \t{ \n \t\t\"spec\": { \n \t\t\t\"Name\": [\"Bank Of Commerce\"], \n \t\t\t\"DomainName\": [\"bocokonline.com\"] \n \t\t}, \n \t\t\"candidates\": [ \n \t\t\t{ \n \t\t\t\t\"org\": { \n \t\t\t\t\t\"id\": \"d0007i2x0\", \n \t\t\t\t\t\"name\": \"Bank of Commerce\", \n \t\t\t\t\t\"domainName\": \"bocokonline.com\", \n \t\t\t\t\t\"state\": \"OK\", \n \t\t\t\t\t... \n \t\t\t\t}, \n \t\t\t\t\"hits\": [\"Name\",\"DomainName\"] \n \t\t\t} \n \t\t] \n \t} \n ] \n ```\n The first set of candidates is returned for the name/state combination. There are three companies with the input name and state code. Since that is the only input the system could not narrow the candidates down any further. \n\n The second set of candidates is returned for the same name but with a domain name instead of a state code. This input specification matched only one company in the system which is returned. \n\n The properties that were matched for each candidate are returned in the \"hits\" field. These will match the input specification properties. However, when matching names the system will attempt to match the input name against the company names in the Knowledge Graph as well as any known aliases for companies. If the input name matched an alias instead of a company name the \"Alias\" property will be returned in \"hits\".",
"operationId": "handleOrgMatchingUsingPOST",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "specs",
"description": "specs",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/OrganizationMatchingSpecification"
}
},
"x-ms-visibility":"important"
}
],
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#/definitions/SingleOrganizationMatchingResult"
}
},
"400": {
"description": "Invalid parameter used.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"500": {
"description": "Internal error.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
}
}
}
},
"/version": {
"get": {
"tags": [
"Entity"
],
"summary": "Return API Version",
"description": "Deprecated",
"operationId": "getVersionUsingGET_2",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"401": {
"description": "Unauthorized to get version.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
},
"500": {
"description": "Internal error.",
"schema": {
"$ref": "#/definitions/GeneralAPIResponse"
}
}
},
"parameters": []
}
}
},
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://bitvore.com/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://bitvore.com/privacy-policy/"
},
{
"propertyName": "Categories",
"propertyValue": "Business Intelligence;AI"
}
],
"definitions": {
"Exchange": {
"type": "object",
"properties": {
"alias": {
"type": "string",
"example": "NYSE",
"description": "More commonly used acronym for the exchange"
},
"mic": {
"type": "string",
"example": "XNYS",
"description": "Market Identifier Code (MIC). Deprecated in favor of the market symbol."
},
"symbol": {
"type": "string",
"example": "NYQ",
"description": "Exchange symbol"
}
}
},
"GeneralAPIResponse": {
"type": "object",
"required": [
"reason",
"reasonSupport",
"response",
"success"
],
"properties": {
"reason": {
"type": "string",
"example": "Could not locate subject.",
"description": "Text reason for the failure (if not successful)"
},
"reasonSupport": {
"type": "object",
"example": "Longer description of the missing subject.",
"description": "Additional information about the failure (if not successful)"
},
"response": {
"type": "object",
"description": "Response payload"
},
"success": {
"type": "boolean",
"example": true,
"description": "Indicates whether the call was successful or not"
}
},
"description": "Properties common to most API responses."
},
"IndustrySummary": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "55101050",
"description": "Unique ID of the industry"
},
"name": {
"type": "string",
"example": "Corporate Financial Services",
"description": "Name of the industry"
}
},
"description": "Summary information about an industry."
},
"OrgSearchResponse": {
"type": "object",
"required": [
"reason",
"reasonSupport",
"response",
"returned",
"success",
"total"
],
"properties": {
"count": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Deprecated, replaced by the returned property"
},
"reason": {
"type": "string",
"example": "Could not locate subject.",
"description": "Text reason for the failure (if not successful)"
},
"reasonSupport": {
"type": "string",
"example": "Longer description of the missing subject.",
"description": "Additional information about the failure (if not successful)"
},
"response": {
"type": "array",
"description": "Response payload",
"items": {
"$ref": "#/definitions/OrganizationSummary"
}
},
"returned": {
"type": "integer",
"format": "int32",
"example": 1,
"description": "Number of organizations returned by search, may be less than total if paging used"
},
"success": {
"type": "boolean",
"example": true,
"description": "Indicates whether the call was successful or not"
},
"total": {
"type": "integer",
"format": "int32",
"example": 10,
"description": "Total number of organizations matching search criteria"
}
},
"description": "Organization search response."
},
"OrganizationDetails": {
"type": "object",
"properties": {
"aliases": {
"type": "array",
"description": "List of aliases for the organization",
"items": {
"type": "string"
}
},
"city": {
"type": "string",
"example": "Irvine",
"description": "City the organization is headquartered in"
},
"country": {
"type": "string",
"example": "UNITED STATES",
"description": "Country the organization is headquartered in"
},
"description": {
"type": "string",
"example": "ACME is a manufacturer of cartoon explosives.",
"description": "Description of the organization"
},
"domainName": {
"type": "string",
"example": "acme.com",
"description": "Domain name of the organization (if website known)"
},
"employees": {
"type": "string",
"example": "10-50",
"description": "Estimated number of employees (range based)",
"enum": [
"1-10",
"10-50",
"50-100",
"100-250",
"250-500",
"500-1000",
"1000-5000",
"5000-10000",
"10000-"
]
},
"exchange": {
"$ref": "#/definitions/Exchange"
},
"facebookUrl": {
"type": "string",
"description": "Absolute URL to the company's Facebook page"
},
"fundingTotal": {
"type": "integer",
"format": "int64",
"example": 12000000,
"description": "Estimate of total funding the organization has received"
},
"id": {
"type": "string",
"example": "b00001aaa",
"description": "ID (BvId) of the organization"
},
"lastFundingAmount": {
"type": "integer",
"format": "int64",
"example": 12000000,
"description": "Estimate of the funding received in its last funding year"
},
"lastFundingYear": {
"type": "integer",
"format": "int32",
"example": 2014,
"description": "Last year the organization received funding"
},
"linkedInUrl": {
"type": "string",
"description": "Absolute URL to the company's LinkedIn page"
},
"monitored": {
"type": "string",
"example": "active",
"description": "Indicates whether the orgnaization is being actively monitored.",
"enum": [
"inactive",
"pending",
"active"
]
},
"naicsIndustry": {
"$ref": "#/definitions/IndustrySummary"
},
"name": {
"type": "string",
"example": "ACME Corp",
"description": "Name of the organization"
},
"parent": {
"$ref": "#/definitions/OrganizationSummary"
},
"revenue": {
"type": "string",
"example": "50-100",
"description": "Estimated annual revenue in millions (range based)",
"enum": [
"0-1",
"1-10",
"10-50",
"50-100",
"100-500",
"500-1000",
"1000-10000",
"10000-"
]
},
"sicIndustry": {
"$ref": "#/definitions/IndustrySummary"
},
"state": {
"type": "string",
"example": "CALIFORNIA",
"description": "State the organization is headquartered in"
},
"ticker": {
"type": "string",
"example": "ACME",
"description": "Stock ticker of the organization (if traded)"
},
"twitterUrl": {
"type": "string",
"description": "Absolute URL to the company's Twitter page"
},
"ultimateParent": {
"$ref": "#/definitions/OrganizationSummary"
},
"yearClosed": {
"type": "integer",
"format": "int32",
"example": 2015,
"description": "Year the organization went out of business if no longer in business"
},
"yearFounded": {
"type": "integer",
"format": "int32",
"example": 1968,
"description": "Year the organization was founded"
}
},
"description": "Detailed information about an organization."
},
"OrganizationMatchingSpecification": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/List"
}
},
"List": {
"type": "object"
},
"OrganizationSummary": {
"type": "object",
"properties": {
"city": {
"type": "string",
"example": "Irvine",
"description": "City the organization is headquartered in"
},
"country": {
"type": "string",
"example": "UNITED STATES",
"description": "Country the organization is headquartered in"
},
"domainName": {
"type": "string",
"example": "acme.com",
"description": "Domain name of the organization (if website known)"
},
"id": {
"type": "string",
"example": "b00001aaa",
"description": "ID (BvId) of the organization"
},
"monitored": {
"type": "string",
"example": "active",
"description": "Indicates whether the orgnaization is being actively monitored.",
"enum": [
"inactive",
"pending",
"active"
]
},
"name": {
"type": "string",
"example": "ACME Corp",
"description": "Name of the organization"
},
"parent": {
"$ref": "#/definitions/OrganizationSummary"
},
"state": {
"type": "string",
"example": "CALIFORNIA",
"description": "State the organization is headquartered in"
},
"ticker": {
"type": "string",
"example": "ACME",
"description": "Stock ticker of the organization (if traded)"
}
},
"description": "Summary information about an organization."
},
"PotentialOrganizationMatch": {
"type": "object",
"properties": {
"hits": {
"type": "array",
"example": "[\"Name\",\"DomainName\"]",
"description": "List of the properties in the input specification that this company has matches for",
"items": {
"type": "string"
}
},
"org": {
"$ref": "#/definitions/OrganizationSummary"
}
},
"description": "One potential matching organization."
},
"SingleOrganizationMatchingResult": {
"type": "object",
"properties": {
"candidates": {
"type": "array",
"description": "List of candidate matches",
"items": {
"$ref": "#/definitions/PotentialOrganizationMatch"
}
},
"spec": {
"type": "object",
"description": "Input organization specification used to find candidates",
"additionalProperties": {
"type": "array",
"items": {
"type": "object"
}
}
}
},
"description": "Results of trying to match an organization using the input specification."
}
},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "header",
"name": "X-BV-APIKEY"
}
},
"security": [
{
"API Key": []
}
],
"tags": [
{
"name": "Entity",
"description": "Entity API"
}
]
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Key",
"description": "The API Key for this api",
"tooltip": "Provide your API Key",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#e78c40",
"capabilities": [],
"publisher": "Bitvore Corp.",
"stackOwner":"Bitvore Corp."
}
}