lib/swagger/plex-vernonkeenan.yaml

523 lines
13 KiB
YAML

swagger: "2.0"
info:
version: 0.3.4
title: "plex"
description: "Cross-Schema Retrieval Microservice"
termsOfService: "https://salesforcedevops.net/terms/"
contact:
email: "vern@vernonkeenan.com"
license:
name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan"
securityDefinitions:
ApiKeyAuth:
type: "apiKey"
in: "header"
name: "X-API-Key"
schemes:
- "http"
basePath: "/v1"
host: "plex.vernonkeenan.com:8080"
consumes:
- "application/json"
produces:
- "application/json"
parameters:
activeQuery:
description: Only retrieve active records?
in: query
name: active
required: false
type: boolean
CompanyIdQuery:
description: Record Id of an Company
in: query
name: companyId
required: false
type: string
limitQuery:
description: "How many objects to return at one time"
format: int64
in: query
name: limit
required: false
type: integer
offsetQuery:
description: How many objects to skip?
format: int64
in: query
name: offset
required: false
type: integer
responses:
AccessForbidden:
description: "Access forbidden, Company lacks access"
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
InvalidDataError:
headers:
Access-Control-Allow-Origin:
type: string
description: Invalid data was sent
schema:
$ref: "#/definitions/InvalidError"
NotFound:
description: Resource was not found
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
ServerError:
description: Server Internal Error
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
Unauthorized:
description: "Access unauthorized, invalid API-KEY was used"
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
UnprocessableEntity:
description: "Unprocessable Entity, likely a bad parameter"
headers:
Access-Control-Allow-Origin:
type: string
schema:
$ref: "#/definitions/Error"
CompanyResponse:
description: The SalesforceDevops.net Company Object
schema:
$ref: "#/definitions/CompanyResponse"
paths:
/companies:
get:
description: Return all or a single company fully hydrated object
operationId: getCompanies
parameters:
- $ref: "#/parameters/CompanyIdQuery"
responses:
"200":
$ref: "#/responses/CompanyResponse"
"401":
$ref: "#/responses/Unauthorized"
"403":
$ref: "#/responses/AccessForbidden"
"404":
$ref: "#/responses/NotFound"
"422":
$ref: "#/responses/UnprocessableEntity"
"500":
$ref: "#/responses/ServerError"
security:
- ApiKeyAuth: []
summary: Get a list of companies
tags:
- Companies
definitions:
Address:
properties:
City:
description: City
type: string
Country:
description: Country full name
type: string
CountryCode:
description: Country Code
type: string
PostalCode:
description: Postal Code
type: string
State:
description: State full name
type: string
StateCode:
description: State Code
type: string
Street:
description: Street number and name
type: string
type: object
Company:
properties:
ID:
description: Company Id
type: string
AccountID:
description: Account Id
type: string
AccountNumber:
description: Company Number
type: string
AccountSource:
description: The marketing origin of this Company
type: string
Active:
type: integer
AnnualRevenue:
description: Annual Revenue Estimate
format: double
type: number
CloudRevenueTotal:
type: number
CloudType:
description: The type of cloud company
type: string
CloudYear:
description: The year company started cloud revenue
type: string
CrunchbaseURL:
description: Company Crunchbase URL
type: string
Description:
description: Description of the Company
type: string
EarningsCall:
description: Earnings Call Date
type: string
Email:
description: Main Company Email
type: string
EquityFunding:
description: The amount of equity EquityFunding
type: number
Facebook:
description: Company Facebook URL
type: string
Fax:
description: Fax number
type: string
FoundedDate:
description: Date company founded
type: string
IPODate:
description: IPO Date
type: string
ImageAltText:
type: string
ImageURL:
type: string
Industries:
description: Industries
type: string
Industry:
description: Industry
type: string
LinkedIn:
description: Company LinkedIn URL
type: string
ListingAddress:
$ref: "#/definitions/Address"
Location:
description: Headquarters Location Description
type: string
Logo:
description: Company Logo URL
type: string
MarketCapitalization:
description: Market Capitalization
type: number
Name:
description: Company Name
type: string
NumberInvestments:
description: Number of Investments
type: number
NumberOfEmployees:
description: Employee Count Estimate
format: int64
type: number
Ownership:
description: Ownership
type: string
ParentID:
description: Parent Company
type: string
Phone:
description: Phone
type: string
Publish:
description: Publish this record?
type: boolean
SalesforceFirst:
description: A Salesforce-First company?
type: boolean
Slug:
description: Slug
type: string
TagLine:
description: Company tagline
type: string
TickerSymbol:
description: Ticker Symbol
type: string
Twitter:
description: Twitter URL
type: string
Type:
description: Type
type: string
Website:
description: Website
type: string
YearStarted:
description: Year Started
type: string
CompanyProducts:
description: Company Products
type: array
items:
$ref: "#/definitions/CompanyProduct"
FinancialStatements:
description: Financial Statements
type: array
items:
$ref: "#/definitions/FinancialStatement"
IndustryCompanies:
description: Similar Companies
type: array
items:
$ref: "#/definitions/IndustryCompany"
type: object
FinancialStatement:
type: object
description: A financial statement for a company
properties:
ID:
description: Record Id
type: string
AccessNumber:
description: EDGAR Access Number
type: string
AccountID:
description: Account ID
type: string
CloudRevenue:
description: Cloud Revenue
type: number
CreatedByID:
description: Created By User ID
type: string
CreatedDate:
description: Created Date
type: string
Description:
description: Description
type: string
EdgarURL:
description: EDGAR URL
type: string
FilingType:
description: Filing Type
type: string
GrossProfit:
description: Gross Profit
type: number
LastModifiedByID:
description: Last Modified By User ID
type: string
LastModifiedDate:
description: Last Modified Date
type: string
NetIncome:
description: Net Income
type: number
PeriodEndDate:
description: Period End Date
type: string
TotalRevenue:
description: Total Revenue
type: number
Year:
description: Year
type: string
CompanyProduct:
description: A software product or service vended by a Company
properties:
ID:
description: Record Id
type: string
AccountID:
description: ID of the Company that owns this Product
type: string
CreatedByID:
description: Created By User ID
type: string
CreatedDate:
description: Created Date
type: string
Description:
description: Description of product
type: string
FullDescription:
description: Full Description of product
type: string
ImageAltText:
description: Image Alt Text
type: string
ImageURL:
description: Image URL
type: string
Industries:
description: Industries
type: array
items:
$ref: "#/definitions/Industry"
LastModifiedByID:
description: Last Modified By User ID
type: string
LastModifiedDate:
description: Last Modified Date
type: string
Logo:
description: Logo
type: string
Name:
description: Product Name
type: string
ProductVideoID:
description: Product Video ID
type: string
Published:
description: Published
type: boolean
SalesforceSpecific:
description: Salesforce Specific
type: boolean
Slug:
description: Slug
type: string
TagLine:
description: TagLine
type: string
URL:
description: Website
type: string
type: object
Industry:
description: An industry that is being researched
properties:
ID:
description: Record Id
type: string
Companies:
description: The AccountIDs of the Companies in this Industry
type: array
items:
type: string
CompanyProducts:
description: The list of Products in this industry
type: array
items:
$ref: "#/definitions/CompanyProduct"
CreatedByID:
description: Created By User ID
type: string
CreatedDate:
description: Created Date
type: string
Description:
description: Industry Description
type: string
ImageAltText:
description: Image Alt Text
type: string
ImageURL:
description: Image URL
type: string
LastModifiedByID:
description: Last Modified By User ID
type: string
LastModifiedDate:
description: Last Modified Date
type: string
Level:
description: The hierarchical level of this Industry
type: string
Logo:
description: Logo
type: string
Name:
description: Industry Name
type: string
ParentIndustryID:
description: The ID of the Parent Industry
type: string
Path:
description: The full path of this industry, including Parent
type: string
Slug:
description: The CMS Slug for this Industry
type: string
TagLine:
description: TagLine
type: string
type: object
IndustryCompany:
description: Junction object between Industry and Company
properties:
ID:
description: Record Id
type: string
CompanyID:
type: string
CompanyName:
type: string
CompanySlug:
type: string
CompanyWebsite:
type: string
IndustryID:
type: string
IndustryName:
type: string
IndustrySlug:
type: string
IndustryTagLine:
type: string
LastModifiedByID:
description: Last Modified By User ID
type: string
LastModifiedDate:
description: Last Modified Date
type: string
Path:
type: string
type: object
CompanyRequest:
description: An array of Company objects with Contacts
properties:
Data:
items:
$ref: "#/definitions/Company"
type: array
type: object
CompanyResponse:
description: An array of Company objects with Contacts
properties:
Data:
items:
$ref: "#/definitions/Company"
type: array
Meta:
$ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta"
type: object
Error:
$ref: "../../lib/swagger/defs/error.yaml#/Error"
InvalidError:
allOf:
- $ref: "#/definitions/Error"
- properties:
details:
items:
type: string
type: array
type: object