swagger: "2.0" info: version: 0.3.0 title: "research" description: "Customer Information Microservice" termsOfService: "https://salesforcedevops.net/terms/" contact: email: "vern@vernonkeenan.com" license: name: "Proprietary - Copyright (c) 2018-2024 by Vernon Keenan" securityDefinitions: ApiKeyAuth: type: "apiKey" in: "header" name: "X-API-Key" schemes: - "http" basePath: "/v1" host: "research.vernonkeenan.com:8080" consumes: - "application/json" produces: - "application/json" parameters: accountIdQuery: description: Record Id of an Account in: query name: accountId required: false type: string activeQuery: description: Only retrieve active records? in: query name: active required: false type: boolean companyProductIdQuery: description: CompanyProduct record ID in: query name: companyProductId required: false type: string companyServiceIdQuery: description: CompanyService record ID in: query name: companyServiceId required: false type: string companyProductRequest: description: An array of new CompanyProduct records in: body name: companyProductRequest required: true schema: $ref: "#/definitions/CompanyProductRequest" companyServiceRequest: description: An array of new CompanyService records in: body name: companyServiceRequest required: true schema: $ref: "#/definitions/CompanyServiceRequest" contactIdQuery: description: Contact record ID in: query name: contactId required: false type: string emailQuery: description: Email address used for identity lookup in: query name: email required: false type: string factorIdQuery: description: Factor record ID in: query name: factorId required: false type: string financialStatementIdQuery: description: Financial Statement record ID in: query name: financialStatementId required: false type: string factorRequest: description: An array of new Factor records in: body name: factorRequest required: true schema: $ref: "#/definitions/FactorRequest" financialStatementRequest: description: An array of new FinancialStatement records in: body name: financialStatementRequest required: true schema: $ref: "#/definitions/FinancialStatementRequest" industryCompanyIdQuery: description: IndustryCompany record ID in: query name: industryCompanyId required: false type: string industryCompanyRequest: description: An array of new IndustryCompany records in: body name: industryCompanyRequest required: true schema: $ref: "#/definitions/IndustryCompanyRequest" industryIdQuery: description: Industry record ID in: query name: industryId required: false type: string productCategoryQuery: description: Is this industry a product category? in: query name: productCategory required: false type: boolean serviceCategoryQuery: description: Is this industry a service category? in: query name: serviceCategory required: false type: boolean industryProductIdQuery: description: IndustryProduct record ID in: query name: industryProductId required: false type: string industryProductRequest: description: An array of new IndustryProduct records in: body name: industryProductRequest required: true schema: $ref: "#/definitions/IndustryProductRequest" industryServiceIdQuery: description: IndustryService record ID in: query name: industryServiceId required: false type: string industryServiceRequest: description: An array of new IndustryService records in: body name: industryServiceRequest required: true schema: $ref: "#/definitions/IndustryServiceRequest" industryRequest: description: An array of new Industry records in: body name: industryRequest required: true schema: $ref: "#/definitions/IndustryRequest" leadIdQuery: description: Lead record ID in: query name: leadId required: false type: string limitQuery: description: How many objects to return at one time format: int64 in: query name: limit required: false type: integer nameQuery: description: The Name of this Object in: query name: name required: false type: string slugQuery: description: The Slug of this Object in: query name: slug required: false type: string observationIdQuery: description: Observation record ID in: query name: observationId required: false type: string observationRequest: description: An array of new Observation records in: body name: observationRequest required: true schema: $ref: "#/definitions/ObservationRequest" offsetQuery: description: How many objects to skip? format: int64 in: query name: offset required: false type: integer topicIdQuery: description: Topic record ID in: query name: topicId required: false type: string topicRequest: description: An array of new Topic records in: body name: topicRequest required: true schema: $ref: "#/definitions/TopicRequest" typeQuery: description: The Type of this Object in: query name: type required: false type: string responses: AccessForbidden: description: Access forbidden, account lacks access headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/Error" CompanyProductResponse: description: Response with CompanyProduct objects schema: $ref: "#/definitions/CompanyProductResponse" CompanyServiceResponse: description: Response with CompanyService objects schema: $ref: "#/definitions/CompanyServiceResponse" Conflict: description: Conflict headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/Error" DeleteResponse: description: Response with Message Objects with Delete Status headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/DeleteResponse" FactorResponse: description: Response with Factor objects schema: $ref: "#/definitions/FactorResponse" FinancialStatementResponse: description: Response with FinancialStatement objects schema: $ref: "#/definitions/FinancialStatementResponse" IndustryCompanyResponse: description: Response with IndustryCompany objects schema: $ref: "#/definitions/IndustryCompanyResponse" IndustryProductResponse: description: Response with IndustryProduct objects schema: $ref: "#/definitions/IndustryProductResponse" IndustryServiceResponse: description: Response with IndustryService objects schema: $ref: "#/definitions/IndustryServiceResponse" IndustryResponse: description: Response with Industry objects schema: $ref: "#/definitions/IndustryResponse" InvalidDataError: description: Invalid data was sent headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/InvalidError" NotFound: description: Resource was not found headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/Error" ObservationResponse: description: Response with Observation objects schema: $ref: "#/definitions/ObservationResponse" ServerError: description: Server Internal Error headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/Error" TopicResponse: description: Response with Topic objects schema: $ref: "#/definitions/TopicResponse" 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" CompanyCategoryResponse: description: The SalesforceDevops.net CompanyCategory Object schema: $ref: "#/definitions/CompanyCategoryResponse" paths: /companycategories: get: description: Return all or a single company category fully hydrated object operationId: getCompanyCategories responses: "200": $ref: "#/responses/CompanyCategoryResponse" "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 company categories tags: - CompanyCategories /companyservices: delete: description: Delete CompanyService record operationId: deleteCompanyService parameters: - $ref: "#/parameters/companyServiceIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete a CompanyService tags: - CompanyServices get: description: Return a list of all available CompanyServices operationId: getCompanyServices parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/slugQuery" - $ref: "#/parameters/companyServiceIdQuery" responses: "200": $ref: "#/responses/CompanyServiceResponse" "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 company services tags: - CompanyServices post: description: Create a new CompanyService record operationId: postCompanyServices parameters: - $ref: "#/parameters/companyServiceRequest" responses: "200": $ref: "#/responses/CompanyServiceResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "409": $ref: "#/responses/Conflict" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create a new CompanyService tags: - CompanyServices /companyproducts: delete: description: Delete CompanyProduct record operationId: deleteCompanyProduct parameters: - $ref: "#/parameters/companyProductIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete a CompanyProduct tags: - CompanyProducts get: description: Return a list of all available CompanyProducts operationId: getCompanyProducts parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/slugQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/companyProductIdQuery" responses: "200": $ref: "#/responses/CompanyProductResponse" "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 companyproducts tags: - CompanyProducts post: description: CompanyProduct record to be added operationId: postCompanyProducts parameters: - $ref: "#/parameters/companyProductRequest" responses: "200": $ref: "#/responses/CompanyProductResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new companyproduct to SalesforceDevops.net tags: - CompanyProducts put: description: Update companyproduct records operationId: putCompanyProduct parameters: - $ref: "#/parameters/companyProductRequest" responses: "200": $ref: "#/responses/CompanyProductResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update a single companyproduct tags: - CompanyProducts /factors: delete: description: Delete Factor record operationId: deleteFactor parameters: - $ref: "#/parameters/factorIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An Factor tags: - Factors get: description: Return a list of all available Factors operationId: getFactors parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/nameQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/factorIdQuery" responses: "200": $ref: "#/responses/FactorResponse" "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 factors tags: - Factors post: description: Factor records to be added operationId: postFactors parameters: - $ref: "#/parameters/factorRequest" responses: "200": $ref: "#/responses/FactorResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new factor to SalesforceDevops.net tags: - Factors put: description: Update factor records operationId: putFactor parameters: - $ref: "#/parameters/factorRequest" responses: "200": $ref: "#/responses/FactorResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update factor records tags: - Factors /financialstatements: delete: description: Delete FinancialStatement record operationId: deleteFinancialStatement parameters: - $ref: "#/parameters/financialStatementIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An FinancialStatement tags: - FinancialStatements get: description: Return a list of all available FinancialStatements operationId: getFinancialStatements parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/financialStatementIdQuery" responses: "200": $ref: "#/responses/FinancialStatementResponse" "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 financialStatements tags: - FinancialStatements post: description: FinancialStatement records to be added operationId: postFinancialStatements parameters: - $ref: "#/parameters/financialStatementRequest" responses: "200": $ref: "#/responses/FinancialStatementResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new financialStatement to SalesforceDevops.net tags: - FinancialStatements put: description: Update financialStatement records operationId: putFinancialStatement parameters: - $ref: "#/parameters/financialStatementRequest" responses: "200": $ref: "#/responses/FinancialStatementResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update financialStatement records tags: - FinancialStatements /industries: get: description: Retrieve Industry records from the microservice operationId: getIndustries parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/slugQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/industryIdQuery" - $ref: "#/parameters/productCategoryQuery" - $ref: "#/parameters/serviceCategoryQuery" responses: "200": $ref: "#/responses/IndustryResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Industry records tags: - Industry post: description: Add new industries operationId: postIndustries parameters: - $ref: "#/parameters/industryRequest" responses: "200": $ref: "#/responses/IndustryResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add new companies tags: - Industry /industrycompanies: delete: description: Delete IndustryCompany record operationId: deleteIndustryCompany parameters: - $ref: "#/parameters/industryCompanyIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An IndustryCompany tags: - IndustryCompanies get: description: Return a list of all available IndustryCompanies operationId: getIndustryCompanies parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/nameQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/industryCompanyIdQuery" - $ref: "#/parameters/emailQuery" responses: "200": $ref: "#/responses/IndustryCompanyResponse" "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 industrycompanies tags: - IndustryCompanies post: description: IndustryCompany record to be added operationId: postIndustryCompanies parameters: - $ref: "#/parameters/industryCompanyRequest" responses: "200": $ref: "#/responses/IndustryCompanyResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new industryCompany to SalesforceDevops.net tags: - IndustryCompanies /industryservices: delete: description: Delete IndustryService record operationId: deleteIndustryService parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/industryServiceIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An IndustryService tags: - IndustryServices get: description: Return a list of all available IndustryServices operationId: getIndustryServices parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/industryServiceIdQuery" responses: "200": $ref: "#/responses/IndustryServiceResponse" "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 industryservices tags: - IndustryServices post: description: IndustryService record to be added operationId: postIndustryServices parameters: - $ref: "#/parameters/industryServiceRequest" responses: "200": $ref: "#/responses/IndustryServiceResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new industryService to SalesforceDevops.net tags: - IndustryServices /industryproducts: delete: description: Delete IndustryProduct record operationId: deleteIndustryProduct parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/industryProductIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An IndustryProduct tags: - IndustryProducts get: description: Return a list of all available IndustryProducts operationId: getIndustryProducts parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/nameQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/industryProductIdQuery" responses: "200": $ref: "#/responses/IndustryProductResponse" "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 industryProducts tags: - IndustryProducts post: description: IndustryProduct record to be added operationId: postIndustryProducts parameters: - $ref: "#/parameters/industryProductRequest" responses: "200": $ref: "#/responses/IndustryProductResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new industryProduct to SalesforceDevops.net tags: - IndustryProducts /observations: delete: description: Delete Observation record operationId: deleteObservation parameters: - $ref: "#/parameters/observationIdQuery" responses: "200": $ref: "#/responses/DeleteResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Delete An Observation tags: - Observations get: description: Return a list of all available Observations operationId: getObservations parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/observationIdQuery" responses: "200": $ref: "#/responses/ObservationResponse" "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 observations tags: - Observations post: description: Observation record to be added operationId: postObservations parameters: - $ref: "#/parameters/observationRequest" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/ObservationResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add a new observation to SalesforceDevops.net tags: - Observations put: description: Update a single observation specified by observationId operationId: putObservation parameters: - $ref: "#/parameters/observationRequest" responses: "200": $ref: "#/responses/ObservationResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update a single observation tags: - Observations /topics: get: description: Retrieve Topic records from the microservice operationId: getTopics parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/topicIdQuery" responses: "200": $ref: "#/responses/TopicResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Topic records tags: - Topics post: description: Add new topics operationId: postTopics parameters: - $ref: "#/parameters/topicRequest" responses: "200": $ref: "#/responses/TopicResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Add new topics tags: - Topics definitions: Address: properties: City: description: City type: string x-nullable: true Country: description: Country full name type: string x-nullable: true CountryCode: description: Country Code type: string x-nullable: true PostalCode: description: Postal Code type: string x-nullable: true State: description: State full name type: string x-nullable: true StateCode: description: State Code type: string x-nullable: true Street: description: Street number and name type: string x-nullable: true type: object CompanyCategory: properties: CloudType: description: The Type of Cloud Company type: string Count: description: The number of companies type: number type: object CompanyCategoryResponse: description: An array of CompanyCategory objects produced in response to a request properties: Data: items: $ref: "#/definitions/CompanyCategory" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object CompanyProduct: description: A software product or service vended by a Company properties: AccountID: description: ID of the Company that owns this Product type: string x-nullable: true AccountNumber: description: Account Number type: string x-nullable: true AccountName: description: Account Name type: string x-nullable: true AccountPublish: description: Account Publish type: boolean x-nullable: true AccountWebsite: description: Account Website type: string x-nullable: true AccountEmail: description: Account Email type: string x-nullable: true AccountLogo: description: Account Logo type: string x-nullable: true AccountSlug: description: Account Slug type: string x-nullable: true AppExchange: description: Salesforce AppExchange URL type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Description of product type: string x-nullable: true FullDescription: description: Full Description of product type: string x-nullable: true ID: description: Record Id type: string ImageAltText: description: Image Alt Text type: string x-nullable: true ImageURL: description: Image URL type: string x-nullable: true Industries: description: Industries items: $ref: "#/definitions/Industry" type: array x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Logo: description: Logo type: string x-nullable: true Name: description: Product Name type: string x-nullable: true ProductVideoID: description: Product Video ID type: string x-nullable: true Published: description: Published type: boolean x-nullable: true SalesforceSpecific: description: Salesforce Specific type: boolean x-nullable: true Slug: description: Slug type: string x-nullable: true TagLine: description: TagLine type: string x-nullable: true URL: description: Website type: string x-nullable: true type: object CompanyProductRequest: description: An array of CompanyProduct objects submitted for processing properties: Data: items: $ref: "#/definitions/CompanyProduct" type: array type: object CompanyProductResponse: description: An array of CompanyProduct objects produced in response to a request properties: Data: items: $ref: "#/definitions/CompanyProduct" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object CompanyService: description: A service performed by a Company properties: ID: description: Record Id type: string AccountID: description: ID of the Company that owns this Service type: string AccountNumber: description: Account Number type: string x-nullable: true AccountName: description: Account Name type: string x-nullable: true AccountPublish: description: Account Publish type: boolean x-nullable: true AccountWebsite: description: Account Website type: string x-nullable: true AccountEmail: description: Account Email type: string x-nullable: true AccountLogo: description: Account Logo type: string x-nullable: true AccountSlug: description: Account Slug type: string x-nullable: true AppExchange: description: Salesforce AppExchange URL type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Description of service type: string x-nullable: true FullDescription: description: Full Description of service type: string x-nullable: true ImageAltText: description: Image Alt Text type: string x-nullable: true ImageURL: description: Image URL type: string x-nullable: true Industries: description: Industries items: $ref: "#/definitions/Industry" type: array x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Logo: description: Logo type: string x-nullable: true Name: description: Service Name type: string x-nullable: true Published: description: Published type: boolean x-nullable: true SalesforceSpecific: description: Salesforce Specific type: boolean x-nullable: true ServiceVideoID: description: Service Video ID type: string x-nullable: true Slug: description: Slug type: string x-nullable: true TagLine: description: Tag Line type: string x-nullable: true URL: description: URL type: string x-nullable: true type: object CompanyServiceRequest: description: An array of CompanyService objects submitted for processing properties: Data: items: $ref: "#/definitions/CompanyService" type: array type: object CompanyServiceResponse: description: An array of CompanyService objects produced in response to a request properties: Data: items: $ref: "#/definitions/CompanyService" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object DeleteResponse: properties: Data: items: $ref: "#/definitions/Message" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Error: $ref: ../../lib/swagger/defs/error.yaml#/Error Factor: description: A Factor of analysis within a research topic properties: CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Topic Description type: string x-nullable: true ID: description: Record Id type: string LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Name: description: Factor Name type: string x-nullable: true Observations: description: The list of Observations used to analyze this industry items: $ref: "#/definitions/Observation" type: array x-nullable: true Slug: description: The slug of the corresponding page on the CMS type: string x-nullable: true TopicID: description: The ID of the Topic that owns this Factor type: string x-nullable: true type: object FactorRequest: description: An array of Factor objects submitted for processing properties: Data: items: $ref: "#/definitions/Factor" type: array type: object FactorResponse: description: An array of Factor objects produced in response to a request properties: Data: items: $ref: "#/definitions/Factor" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object FinancialStatement: description: A financial statement for a company properties: AccessNumber: description: EDGAR Access Number type: string x-nullable: true AccountID: description: Account ID type: string x-nullable: true CloudRevenue: description: Cloud Revenue type: number x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Description type: string x-nullable: true EdgarURL: description: EDGAR URL type: string x-nullable: true FilingType: description: Filing Type type: string x-nullable: true GrossProfit: description: Gross Profit type: number x-nullable: true ID: description: Record Id type: string LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true NetIncome: description: Net Income type: number x-nullable: true PeriodEndDate: description: Period End Date type: string x-nullable: true TotalRevenue: description: Total Revenue type: number x-nullable: true Year: description: Year type: string x-nullable: true type: object FinancialStatementRequest: description: An array of FinancialStatement objects submitted for processing properties: Data: items: $ref: "#/definitions/FinancialStatement" type: array type: object FinancialStatementResponse: description: An array of FinancialStatement objects produced in response to a request properties: Data: items: $ref: "#/definitions/FinancialStatement" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Industry: description: An industry that is being researched properties: ID: description: Record Id type: string CompanyProducts: description: The list of Products in this industry items: $ref: "#/definitions/CompanyProduct" type: array x-nullable: true CompanyServices: description: The list of Services in this industry items: $ref: "#/definitions/CompanyService" type: array x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Industry Description type: string x-nullable: true FullDescription: description: Full Description type: string x-nullable: true ImageAltText: description: Image Alt Text type: string x-nullable: true ImageURL: description: Image URL type: string x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Level: description: The hierarchical level of this Industry type: string x-nullable: true Logo: description: Logo type: string x-nullable: true Name: description: Industry Name type: string x-nullable: true ParentIndustryID: description: The ID of the Parent Industry type: string x-nullable: true Path: description: The full path of this industry, including Parent type: string x-nullable: true ProductCategory: description: Is this industry a product category? type: boolean x-nullable: true ServiceCategory: description: Is this industry a service category? type: boolean x-nullable: true Slug: description: The CMS Slug for this Industry type: string x-nullable: true TagLine: description: TagLine type: string x-nullable: true type: object IndustryCompany: description: Junction object between Industry and Company properties: AccountID: type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true ID: description: Record Id type: string IndustryID: type: string x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Path: type: string x-nullable: true type: object IndustryCompanyRequest: description: An array of IndustryCompany objects submitted for processing properties: Data: items: $ref: "#/definitions/IndustryCompany" type: array type: object IndustryCompanyResponse: description: An array of IndustryCompany objects produced in response to a request properties: Data: items: $ref: "#/definitions/IndustryCompany" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object IndustryProduct: description: Junction object between Industry and CompanyProduct properties: CompanyProductID: type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true HTML: type: string x-nullable: true ID: description: Record Id type: string IndustryID: type: string x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true type: object IndustryProductRequest: description: An array of IndustryProduct objects submitted for processing properties: Data: items: $ref: "#/definitions/IndustryProduct" type: array type: object IndustryProductResponse: description: An array of IndustryProduct objects produced in response to a request properties: Data: items: $ref: "#/definitions/IndustryProduct" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object IndustryService: description: Junction Object bewtwen Industry and CompanyService properties: ID: description: Record Id type: string CompanyService: $ref: "#/definitions/CompanyService" CompanyServiceID: type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Industry: $ref: "#/definitions/Industry" IndustryID: type: string x-nullable: true LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true type: object IndustryServiceRequest: description: An array of IndustryService objects submitted for processing properties: Data: items: $ref: "#/definitions/IndustryService" type: array type: object IndustryServiceResponse: description: An array of IndustryService objects produced in response to a request properties: Data: items: $ref: "#/definitions/IndustryService" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object IndustryRequest: description: An array of Industry objects submitted for processing properties: Data: items: $ref: "#/definitions/Industry" type: array type: object IndustryResponse: description: An array of Industry objects produced in response to a request properties: Data: items: $ref: "#/definitions/Industry" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object InvalidError: allOf: - $ref: "#/definitions/Error" - properties: details: items: type: string type: array type: object Message: properties: message: type: string ref: type: string status: format: int64 type: number type: object Observation: description: A data point collected while analyzing a Factor properties: AccountID: description: The ID of the Company being analyzed type: string x-nullable: true CompanyProductID: description: The ID of the Product being analyzed type: string x-nullable: true CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Notes concerning data collection type: string x-nullable: true FactorID: description: The ID of the Factor that owns this Observation type: string x-nullable: true ID: description: Record Id type: string LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true SubjectType: description: Is the subject a Company or a Product? type: string x-nullable: true Value: description: The data point collected type: string x-nullable: true type: object ObservationRequest: description: An array of Observation objects submitted for processing properties: Data: items: $ref: "#/definitions/Observation" type: array type: object ObservationResponse: description: An array of Observation objects produced in response to a request properties: Data: items: $ref: "#/definitions/Observation" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Pagination: properties: limit: format: int64 type: number pagesize: format: int64 type: number poffset: format: int64 type: integer setsize: format: int64 type: number type: object RequestMeta: properties: ExternalAccount: description: Account Number of the Reseller or OEM type: string required: - ExternalAccount type: object ResponseMeta: properties: Contact: description: Microservice Contact Info type: string Copyright: description: Copyright Info type: string License: description: License Information and Restrictions type: string OperationID: description: Operation ID type: string Pagination: $ref: "#/definitions/Pagination" RequestIP: description: Request IP Address type: string RequestType: description: Request Type type: string RequestURL: description: Request URL type: string ServerInfo: description: Data Server Info type: string ServerResponseTime: description: Data Server Response Time (ms) type: string ServerTimestamp: description: Backend Server Timestamp type: string ExternalAccount: description: Account Number used for recording transactions type: string type: object Topic: description: A research topic that collects data properties: CreatedByID: description: Created By User ID type: string x-nullable: true CreatedDate: description: Created Date type: string x-nullable: true Description: description: Topic Description type: string x-nullable: true Factors: description: The list of Factors used to analyze this industry items: $ref: "#/definitions/Factor" type: array x-nullable: true ID: description: Record Id type: string LastModifiedByID: description: Last Modified By User ID type: string x-nullable: true LastModifiedDate: description: Last Modified Date type: string x-nullable: true Name: description: Topic Name type: string x-nullable: true ParentTopicID: description: The ID of the Parent Topic type: string x-nullable: true Slug: description: The CMS Slug for this Topic type: string x-nullable: true type: object TopicRequest: description: An array of Topic objects submitted for processing properties: Data: items: $ref: "#/definitions/Topic" type: array type: object TopicResponse: description: An array of Topic objects produced in response to a request properties: Data: items: $ref: "#/definitions/Topic" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object