swagger: "2.0" info: version: 0.0.2 title: "devops" description: "System Operations Microservice" termsOfService: "http://telnexus.com/terms/" contact: email: "noc@telnexus.com" license: name: "Proprietary - Copyright (c) 2018-2020 by Telnexus LLC" securityDefinitions: ApiKeyAuth: type: "apiKey" in: "header" name: "X-API-Key" schemes: - "http" basePath: "/v1" host: "devops.infra.tnxs.net:8080" consumes: - "application/json" produces: - "application/json" parameters: databaseIdQuery: description: Telnexus Record Id of a Database in: query name: databaseId required: false type: string TelnexusAccountQuery: description: Telnexus Account of a Tenant in: query name: TelnexusAccount required: false type: string tenantIdQuery: description: Telnexus Record Id of a Tenant in: query name: tenantId required: false type: string tenantRequest: description: An array of Tenant records in: body name: TenantRequest required: true schema: $ref: "#/definitions/TenantRequest" databaseRequest: description: An array of Database records in: body name: DatabaseRequest required: true schema: $ref: "#/definitions/DatabaseRequest" X-API-Key: name: X-API-Key in: "header" required: true type: string ClusterRequest: description: An array of Cluster records in: body name: ClusterRequest required: true schema: $ref: "#/definitions/ClusterRequest" IngestRequest: description: An array of Ingest records in: body name: IngestRequest required: true schema: $ref: "#/definitions/IngestRequest" JobRequest: description: An array of Job records in: body name: JobRequest required: true schema: $ref: "#/definitions/JobRequest" ServiceRequest: description: An array of Service records in: body name: ServiceRequest required: true schema: $ref: "#/definitions/ServiceRequest" TemplateRequest: description: An array of Template records in: body name: TemplateRequest required: true schema: $ref: "#/definitions/TemplateRequest" UserRequest: description: An array of User records in: body name: UserRequest required: true schema: $ref: "#/definitions/UserRequest" accountIdQuery: description: Telnexus Record Id of an Account in: query name: accountId required: false type: string contactIdQuery: description: Telnexus Record Id of a Contact in: query name: contactId required: false type: string accountNumberQuery: description: The Telnexus Account Number of the Account to be used a record retrieval in: query name: accountNumber required: false type: string activeQuery: description: Retrieve active records only? in: query name: active required: false type: boolean apiKeyQuery: description: Service account or developer API key in: query name: apikey type: string clusterIdPath: description: Telnexus Record Id of a Cluster in: path name: clusterIdPath type: string required: true databaseIdPath: description: Telnexus Record Id of a Database in: path name: databaseIdPath type: string required: true clusterIdQuery: description: Telnexus Record Id of a Cluster in: query name: clusterId required: false type: string companyIdQuery: description: Telnexus Record Id of a Company in: query name: companyId required: false type: string ingestIdPath: description: Telnexus Record Id of a Ingest in: path name: ingestIdPath type: string required: true ingestIdQuery: description: Telnexus Record Id of an Ingest in: query name: ingestId required: false type: string jobIdPath: description: Telnexus Record Id of a Job in: path name: jobIdPath type: string required: true jobIdQuery: description: Telnexus Record Id of a Job in: query name: jobId 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? (default 0) format: int64 in: query name: offset required: false type: integer serviceIdPath: description: Telnexus Record Id of a Service in: path name: serviceIdPath type: string required: true serviceIdQuery: description: Service ID in: query name: serviceId type: string templateIdPath: description: Telnexus Record Id of a Template in: path name: templateIdPath type: string required: true templateIdQuery: description: Template ID in: query name: templateId type: string objectTypeQuery: description: Object Type Name in: query name: objectType type: string isMasterQuery: description: Is Master Template? in: query name: isMaster type: boolean userIdPath: description: Telnexus Record Id of a User in: path name: userIdPath type: string required: true tenantIdPath: description: Telnexus Record Id of a Tenant in: path name: tenantIdPath type: string required: true userIdQuery: description: Telnexus User ID (unique) in: query name: userId type: string emailQuery: description: Email Address (not unique) in: query name: email type: string usernameQuery: description: Username (unique) in: query name: username type: string userRequest: description: An array of user records in: body name: UserRequest required: true schema: $ref: "#/definitions/UserRequest" responses: AccessForbidden: description: "Access forbidden, account lacks access" headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/Error" ClusterSingletonResponse: description: Single Cluster record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Cluster" ClusterObservableResponse: description: Single Cluster record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Cluster" ClusterResponse: description: Telnexus Response with Cluster objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/ClusterResponse" DeveopsDeleteResponse: description: Telnexus Response with Message Objects with Delete Status headers: Access-Control-Allow-Origin: type: string schema: $ref: "#/definitions/DeleteResponse" IngestResponse: description: Telnexus Response with Ingest objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/IngestResponse" IngestSingletonResponse: description: Single Ingest record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Ingest" IngestObservableResponse: description: Single Ingest record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Ingest" JobResponse: description: Telnexus Response with Job objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/JobResponse" JobSingletonResponse: description: Single Job record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Job" JobObservableResponse: description: Single Job record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Job" NotFound: headers: Access-Control-Allow-Origin: type: string description: Resource was not found schema: $ref: "#/definitions/Error" DatabaseResponse: headers: Access-Control-Allow-Origin: type: string description: Telnexus Response with Database objects schema: $ref: "#/definitions/DatabaseResponse" DatabaseSingletonResponse: description: Single Database record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Database" DatabaseObservableResponse: description: Single Database record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Database" TenantResponse: headers: Access-Control-Allow-Origin: type: string description: Telnexus Response with Tenant objects schema: $ref: "#/definitions/TenantResponse" TenantSingletonResponse: description: Single Tenant record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Tenant" TenantObservableResponse: description: Single Tenant record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Tenant" ServerError: headers: Access-Control-Allow-Origin: type: string description: Server Internal Error schema: $ref: "#/definitions/Error" ServiceResponse: description: Telnexus Response with Service objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/ServiceResponse" ServiceSingletonResponse: description: Single Service record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Service" ServiceObservableResponse: description: Simple Service record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Service" TemplateResponse: description: Telnexus Response with Template objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/TemplateResponse" TemplateSingletonResponse: description: Single Template record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Template" TemplateObservableResponse: description: Simple Template record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/Template" Unauthorized: description: "Access Unauthorized, invalid API-KEY was used" headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Error" UnprocessableEntity: description: "Unprocessable Entity, likely a bad parameter" headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/Error" UserResponse: description: Telnexus Response with User objects headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/UserResponse" UserSingletonResponse: description: Single User record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: $ref: "#/definitions/User" UserObservableResponse: description: Simple User record response headers: Access-Control-Allow-Origin: type: string Cache-Control: type: string schema: type: array items: $ref: "#/definitions/User" CORSResponse: description: CORS OPTIONS response headers: Access-Control-Allow-Origin: type: string Access-Control-Allow-Headers: type: string Access-Control-Allow-Methods: type: string Access-Control-Expose-Headers: type: string Access-Control-Max-Age: type: string Access-Control-Allow-Credentials: type: string Cache-Control: type: string paths: /clusters: get: description: Return a list of Cluster records from the datastore operationId: getClusters parameters: - $ref: "#/parameters/clusterIdQuery" - $ref: "#/parameters/companyIdQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/ClusterResponse" "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 Clusters tags: - Cluster options: description: CORS support operationId: clustersOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create Clusters in Telnexus operationId: postClusters parameters: - $ref: "#/parameters/ClusterRequest" responses: "200": $ref: "#/responses/ClusterResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Clusters tags: - Cluster put: description: Update Cluster in Telnexus operationId: putClusters parameters: - $ref: "#/parameters/ClusterRequest" responses: "200": $ref: "#/responses/ClusterResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Clustera tags: - Cluster /clusters/observable: get: description: Returns a Cluster retrieval in a observable array operationId: getClustersObservable responses: "200": $ref: "#/responses/ClusterObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Clusters in an observable array tags: - Cluster options: description: CORS support operationId: clusterOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/clusters/{clusterIdPath}": get: description: Return a single Cluster object from datastore as a Singleton operationId: getCluster parameters: - $ref: "#/parameters/clusterIdPath" responses: "200": $ref: "#/responses/ClusterSingletonResponse" "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 single Cluster object tags: - Cluster /databases: get: description: Return a list of Database records from the datastore operationId: getDatabases parameters: - $ref: "#/parameters/databaseIdQuery" - $ref: "#/parameters/companyIdQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/DatabaseResponse" "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 Databases tags: - Database options: description: CORS support operationId: databasesOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create Databases in Telnexus operationId: postDatabases parameters: - $ref: "#/parameters/databaseRequest" responses: "200": $ref: "#/responses/DatabaseResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Databases tags: - Database put: description: Update Database in Telnexus operationId: putDatabases parameters: - $ref: "#/parameters/databaseRequest" responses: "200": $ref: "#/responses/DatabaseResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Databases tags: - Database /databases/observable: get: description: Returns a Database retrieval in a observable array operationId: getDatabasesObservable responses: "200": $ref: "#/responses/DatabaseObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Databases in an observable array tags: - Database options: description: CORS support operationId: databaseOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/databases/{databaseIdPath}": get: description: Return a single Database object from datastore as a Singleton operationId: getDatabase parameters: - $ref: "#/parameters/databaseIdPath" responses: "200": $ref: "#/responses/DatabaseSingletonResponse" "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 single Database object tags: - Database /ingests: get: description: Return a list of Ingest records operationId: getIngests parameters: - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/companyIdQuery" - $ref: "#/parameters/ingestIdQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/IngestResponse" "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 Ingests tags: - Ingest options: description: CORS support operationId: ingestsOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create new Ingests operationId: postIngests parameters: - $ref: "#/parameters/IngestRequest" responses: "200": $ref: "#/responses/IngestResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Ingests tags: - Ingest put: description: Update Ingests operationId: putIngests parameters: - $ref: "#/parameters/IngestRequest" responses: "200": $ref: "#/responses/IngestResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Ingests tags: - Ingest /ingests/observable: get: description: Returns a Ingest retrieval in a observable array operationId: getIngestsObservable responses: "200": $ref: "#/responses/IngestObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Ingests in an observable array tags: - Ingest options: description: CORS support operationId: ingestOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/ingests/{ingestIdPath}": get: description: Return a single Ingest object from datastore as a Singleton operationId: getIngest parameters: - $ref: "#/parameters/ingestIdPath" responses: "200": $ref: "#/responses/IngestSingletonResponse" "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 single Ingest object tags: - Ingest /jobs: get: description: Return a list of Job records from the datastore operationId: getJobs parameters: - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/companyIdQuery" - $ref: "#/parameters/jobIdQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/JobResponse" "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 Jobs tags: - Job options: description: CORS support operationId: jobsOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create and enqueue Jobs in Telnexus operationId: postJobs parameters: - $ref: "#/parameters/JobRequest" responses: "200": $ref: "#/responses/JobResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Jobs tags: - Job put: description: Update Jobs in Telnexus operationId: putJobs parameters: - $ref: "#/parameters/JobRequest" responses: "200": $ref: "#/responses/JobResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Jobs tags: - Job /jobs/observable: get: description: Returns a Job retrieval in a observable array operationId: getJobsObservable responses: "200": $ref: "#/responses/JobObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Jobs in an observable array tags: - Job options: description: CORS support operationId: jobOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/jobs/{jobIdPath}": get: description: Return a single Job object from datastore as a Singleton operationId: getJob parameters: - $ref: "#/parameters/jobIdPath" responses: "200": $ref: "#/responses/JobSingletonResponse" "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 single Job object tags: - Job /services: get: description: Return a list of Services records from the datastore operationId: getServices parameters: - $ref: "#/parameters/serviceIdQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/ServiceResponse" "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 Services tags: - Service options: description: CORS support operationId: servicesOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create Services in Telnexus operationId: postServices parameters: - $ref: "#/parameters/ServiceRequest" responses: "200": $ref: "#/responses/ServiceResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Services tags: - Service put: description: Update Services in Telnexus operationId: putServices parameters: - $ref: "#/parameters/ServiceRequest" responses: "200": $ref: "#/responses/ServiceResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Services tags: - Service /services/observable: get: description: Returns a Service retrieval in a observable array operationId: getServicesObservable responses: "200": $ref: "#/responses/ServiceObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Services in an observable array tags: - Service options: description: CORS support operationId: serviceOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/services/{serviceIdPath}": get: description: Return a single Service object from datastore as a Singleton operationId: getService parameters: - $ref: "#/parameters/serviceIdPath" responses: "200": $ref: "#/responses/ServiceSingletonResponse" "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 single Service object tags: - Service /templates: get: description: Return a list of Templates from the datastore operationId: getTemplates parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/templateIdQuery" - $ref: "#/parameters/isMasterQuery" - $ref: "#/parameters/objectTypeQuery" responses: "200": $ref: "#/responses/TemplateResponse" "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 Templates tags: - Template options: description: CORS support operationId: templatesOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create new Templates operationId: postTemplates parameters: - $ref: "#/parameters/TemplateRequest" responses: "200": $ref: "#/responses/TemplateResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Templates tags: - Template /templates/observable: get: description: Returns a Template retrieval in a observable array operationId: getTemplatesObservable responses: "200": $ref: "#/responses/TemplateObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Templates in an observable array tags: - Template options: description: CORS support operationId: templateOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/templates/{templateIdPath}": get: description: Return a single Template object from datastore as a Singleton operationId: getTemplate parameters: - $ref: "#/parameters/templateIdPath" responses: "200": $ref: "#/responses/TemplateSingletonResponse" "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 single Template object tags: - Template /tenants: get: description: Return a list of Tenant records from the datastore operationId: getTenants parameters: - $ref: "#/parameters/TelnexusAccountQuery" - $ref: "#/parameters/tenantIdQuery" - $ref: "#/parameters/companyIdQuery" - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" responses: "200": $ref: "#/responses/TenantResponse" "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 Tenants tags: - Tenant options: description: CORS support operationId: tenantsOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create Tenants in Telnexus operationId: postTenants parameters: - $ref: "#/parameters/tenantRequest" responses: "200": $ref: "#/responses/TenantResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Tenants tags: - Tenant put: description: Update Tenant in Telnexus operationId: putTenants parameters: - $ref: "#/parameters/tenantRequest" responses: "200": $ref: "#/responses/TenantResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update Tenants tags: - Tenant /tenants/observable: get: description: Returns a Tenant retrieval in a observable array operationId: getTenantsObservable responses: "200": $ref: "#/responses/TenantObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Tenants in an observable array tags: - Tenant options: description: CORS support operationId: tenantOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/tenants/{tenantIdPath}": get: description: Return a single Tenant object from datastore as a Singleton operationId: getTenant parameters: - $ref: "#/parameters/tenantIdPath" responses: "200": $ref: "#/responses/TenantSingletonResponse" "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 single Tenant object tags: - Tenant /users: get: description: Return a list of User records from the datastore operationId: getUsers parameters: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/contactIdQuery" - $ref: "#/parameters/activeQuery" - $ref: "#/parameters/emailQuery" - $ref: "#/parameters/userIdQuery" - $ref: "#/parameters/usernameQuery" responses: "200": $ref: "#/responses/UserResponse" "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 Users tags: - User options: description: CORS support operationId: usersOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors post: description: Create new Users operationId: postUsers parameters: - $ref: "#/parameters/UserRequest" responses: "200": $ref: "#/responses/UserResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Create new Users tags: - User put: description: Update existing users operationId: putUsers parameters: - $ref: "#/parameters/UserRequest" responses: "200": $ref: "#/responses/UserResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Update existing users tags: - User /users/observable: get: description: Returns a User retrieval in a observable array operationId: getUsersObservable responses: "200": $ref: "#/responses/UserObservableResponse" "401": $ref: "#/responses/Unauthorized" "403": $ref: "#/responses/AccessForbidden" "404": $ref: "#/responses/NotFound" "422": $ref: "#/responses/UnprocessableEntity" "500": $ref: "#/responses/ServerError" security: - ApiKeyAuth: [] summary: Get Users in an observable array tags: - User options: description: CORS support operationId: userOptions responses: "200": $ref: "#/responses/CORSResponse" tags: - cors "/users/{userIdPath}": get: description: Return a single User object from datastore as a Singleton operationId: getUser parameters: - $ref: "#/parameters/userIdPath" responses: "200": $ref: "#/responses/UserSingletonResponse" "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 single User object tags: - User 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 Cluster: properties: CreatedByID: description: Created By type: string CreatedDate: description: Created Date type: string Description: description: Description type: string Environment: description: Environment type: string Gateway: description: Gateway type: string ID: description: Telnexus Record Id type: string IPAddress: description: IP Address type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modified Date type: string Name: description: Cluster Name type: string OwnerID: description: Owner type: string Ref: description: External Reference type: string Status: description: Status type: string Subnet: description: Subnet type: string Type: description: Type type: string TenantID: description: The ID of the tenant who owns this Database type: string Zone: description: Zone type: string type: object ClusterRequest: properties: Data: items: $ref: "#/definitions/Cluster" type: array type: object ClusterResponse: description: An array of cluster objects properties: Data: items: $ref: "#/definitions/Cluster" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Database: description: A Database provisioned and owned by a Tenant properties: Active: description: Is this database active? type: boolean ClusterID: description: The ID of the Cluster in which this database is deployed type: string CreatedByID: description: Created By type: string CreatedDate: description: Created Date type: string DSN: description: Database connection string type: string DatabaseName: description: The name of the physical database in the cluster type: string ID: description: Record Id type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modifed Date type: string Microservices: description: List of Telnexus microservices implemented by this Database type: string Status: description: The current status of this Tenant type: string TenantID: description: The ID of the tenant who owns this Database type: string Type: description: "The type of Database (mysql, etc)" type: string type: object DatabaseRequest: description: An array of Database objects properties: Data: items: $ref: "#/definitions/Database" type: array type: object DatabaseResponse: description: An array of Database objects properties: Data: items: $ref: "#/definitions/Database" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object DeleteResponse: properties: Data: items: $ref: "#/definitions/Message" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Error: properties: code: format: int64 type: integer fields: type: string message: type: string type: object Ingest: description: A record of the Ingest of information into Telnexus properties: AccountID: description: Account ID type: string Amount: description: Rollup Tax Amount format: double type: number BackendID: description: Backend ID type: string CompanyID: description: Company ID type: string CreatedByID: description: Telnexus User ID type: string CreatedDate: description: Date of Job Creation type: string Description: description: Ingest Description type: string EndDate: description: End Date type: string Filename: description: Filename type: string ID: description: Record Id type: string IngestDate: description: Ingest Date type: string IngestFailureReason: description: Ingest Failure Reason type: string IngestType: description: Ingest Type enum: - fabric - internal - suretax - taxnexus-api type: string InvoiceCount: description: Invoice Count format: int64 type: number JobID: description: Job ID type: string LastModifiedByID: description: Telnexus User ID type: string LastModifiedDate: description: Last Modified Date type: string MetrcLastModifiedEnd: type: string MetrcLastModifiedStart: type: string MetrcLicense: description: License type: string MetrcSalesreceiptID: format: int64 type: number MetrcState: description: State Code type: string ObjectType: description: Ingest Object Type enum: - account - cash-receipt - contact - invoice - order - po - quote type: string POCount: description: PO Count format: int64 type: number ParentFK: description: Parent Foreign Key type: string PeriodID: description: Period ID type: string PostFalureReason: description: Post Failure Reason type: string RatingEngineID: description: Rating Engine ID type: string Ref: description: Source System Reference type: string RevenueBase: description: Rollup Revenue Base format: double type: number RevenueNet: description: Rollup Revenue Net format: double type: number RevenueNotTaxable: description: Rollup Revenue Not Taxable format: double type: number SagaID: description: The Saga ID used to link log entries and transactions type: string SagaType: description: The type of Saga transaction being performed type: string Source: description: The source system that generated this job enum: - api - fabric - taxnexus - telnexus type: string StartDate: description: Start Date type: string Status: description: Ingest Status enum: - failed_accounting - failed_existing - failed_glpost - failed_invoice - failed_po - ingested - new - posted - queued - rated - rejected type: string Tax: description: Rollup Tax type: number TaxOnTax: description: Rollup Tax On Tax type: number TaxTransactionCount: description: Tax Transaction Count format: int64 type: number TemplateID: description: Template type: string TenantID: description: ID of the Tenant that owns this Object Instance type: string UnitBase: description: Rollup Unit Base format: int64 type: number required: - AccountID - ObjectType type: object IngestRequest: properties: Data: items: $ref: "#/definitions/Ingest" type: array type: object IngestResponse: description: An array of Print-Ready ingest Objects properties: Data: items: $ref: "#/definitions/Ingest" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Job: properties: AccountID: description: Telnexus Account Id type: string BackendID: description: Telnexus Backend ID type: string CompanyID: description: Telnexus Company ID type: string CoordinateID: description: Telnexus Coordinate ID type: string CreatedByID: description: Telnexus User ID type: string CreatedDate: description: Date of Job Creation type: string Duration: description: The amount of time after the Start Time to perform one or more jobs enum: - day - document - hour - minute - month - quarter - second - week - year type: string EndDate: description: End Date/Time type: string ErrorReason: description: Error Reason type: string ID: description: Telnexus Record Id of the Job record type: string Interval: description: The time interval by which multiple jobs are executed within the Duration enum: - day - each - hour - minute - month - quarter - second - week - year type: string JobDate: description: Job Date type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modified Date type: string Month: description: The Month Number of the job format: int64 type: number NextJobID: description: Next Job type: string OwnerID: description: The user ID that owns this job type: string Parameters: description: The parameters needed to process the job type: string PeriodID: description: Period type: string Quarter: description: The Month Number of the job format: int64 type: number RatingEngineID: description: Rating Engine type: string Ref: description: External Reference type: string Reschedule: description: Reschedule? type: boolean RescheduleInterval: description: Reschedule Interval format: int64 type: number SagaID: description: The Saga ID used to link log entries and transactions type: string SagaType: description: The type of Saga transaction being performed type: string Semiannual: description: The Month Number of the job format: int64 type: number Source: description: The source system that generated this job enum: - api - fabric - taxnexus - telnexus type: string StartDate: description: Start Date/Time type: string Status: description: Status enum: - active - complete - error - new - queued type: string Target: description: The target system that executes this job enum: - api - fabric - taxnexus - telnexus type: string TenantID: description: ID of the Tenant that owns this Object Instance type: string Year: description: The Month Number of the job format: int64 type: number required: - AccountID - Duration - SagaType type: object JobRequest: properties: Data: items: $ref: "#/definitions/Job" type: array type: object JobResponse: description: An array of Job Objects properties: Data: items: $ref: "#/definitions/Job" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Message: properties: Message: type: string Ref: type: string Status: type: integer type: object Pagination: properties: Limit: format: int64 type: integer POffset: format: int64 type: integer PageSize: format: int64 type: integer SetSize: format: int64 type: integer type: object RequestMeta: properties: TelnexusAccount: description: Telnexus Account Number of the Reseller or OEM type: string required: - TelnexusAccount 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 TelnexusAccount: description: Telnexus Account Number used for recording transactions type: string type: object Role: description: A functional role within a Tenant properties: Auth0RoleID: description: The corresponding Auth0 Role type: string CreatedByID: description: Created By type: string CreatedDate: description: Created Date type: string Description: description: Role Description type: string ID: description: Record Id type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modifed Date type: string RoleName: description: The name of this role type: string TenantID: description: The ID of the Tenant that owns this Role type: string type: object RoleRequest: description: An array of Role objects properties: Date: items: $ref: "#/definitions/Role" type: array type: object RoleResponse: description: An array of Role objects properties: Data: items: $ref: "#/definitions/Role" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Service: properties: Active: description: Active? type: boolean ClusterID: description: Cluster type: string ClusterIP: description: Cluster IP type: string ClusterURL: description: Cluster URL type: string CreatedByID: description: Created By type: string CreatedDate: description: Created Date type: string Environment: description: Environment type: string ExternalURL: description: External URL type: string GELFAddress: description: GELF Address type: string ID: description: Telnexus Record Id type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modified Date type: string NetworkAlias: description: Network Alias type: string OpenAPIVersion: description: OpenAPI Version type: string OwnerID: description: Owner type: string PortExternal: description: Port - External type: string PortTest: description: Port - Test type: string ProxyType: description: Proxy Type type: string Replicas: description: Replicas format: int64 type: number RepoURL: description: Repo URL type: string ServiceName: description: Service Name type: string TenantID: description: The ID of the tenant who owns this Database type: string Version: description: Version type: string type: object ServiceRequest: properties: Data: items: $ref: "#/definitions/Service" type: array type: object ServiceResponse: description: An array of Service Objects properties: Data: items: $ref: "#/definitions/Service" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Template: properties: CompanyID: description: Company type: string CreatedByID: type: string CreatedDate: type: string Description: description: Description type: string HTML: description: HTML Body format: byte type: string ID: description: Telnexus Record Id type: string IsActive: description: Active? type: boolean IsMaster: description: Master Template? type: boolean LastModifiedByID: type: string LastModifiedDate: type: string Name: description: Template Name type: string ObjectType: description: Object type: string RecordTypeName: description: Record Type Name type: string TenantID: description: Tenant that owns this object instance type: string Type: description: Type type: string URL: description: URL type: string type: object TemplateRequest: description: An array of Templates properties: Data: items: $ref: "#/definitions/Template" type: array type: object TemplateResponse: description: An array of Templates properties: Data: items: $ref: "#/definitions/Template" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object Tenant: description: Telnexus Account Tenant properties: AccountID: description: The Account that owns this Tenant type: string Active: description: Is this Tenant currently active? type: boolean CreatedByID: description: Created By type: string CreatedDate: description: Created Date type: string Databases: items: $ref: "#/definitions/Database" type: array ID: description: Record Id type: string LastModifiedByID: description: Last Modified By type: string LastModifiedDate: description: Last Modifed Date type: string Roles: items: $ref: "#/definitions/Role" type: array Status: description: The current status of this Tenant type: string TenantName: description: Name of the Tenant Resource type: string TenantUsers: items: $ref: "#/definitions/TenantUser" type: array Type: description: The type of Tenant type: string Version: description: The version number of the Tenant Onboarding system used to create this tenant type: string type: object TenantRequest: description: An array of Tenant objects properties: Data: items: $ref: "#/definitions/Tenant" type: array type: object TenantResponse: description: An array of Tenant objects properties: Data: items: $ref: "#/definitions/Tenant" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object TenantUser: description: Relationship object that connects users to a tenant properties: AccessLevel: description: The makeTenantUser access level for this User type: string AccountID: description: Account ID type: string Auth0UserID: description: Auth0 User ID type: string CompanyName: description: Account Name type: string ContactID: description: Contact ID type: string TelnexusAccount: description: Telnexus Account type: string TenantActive: description: Tenant active? type: boolean TenantID: description: The Tenant ID type: string TenantName: description: Tenant Name type: string TenantStatus: description: Tenant Status type: string TenantType: description: Tenant type type: string TenantVersion: description: Tenant Version type: string UserEmail: description: User Email Address type: string UserFullName: description: User Full Name type: string UserID: description: The User ID type: string Username: description: Username type: string type: object User: properties: APIKey: description: API Key type: string AboutMe: description: About Me type: string AccountID: description: Account ID type: string Address: $ref: "#/definitions/Address" Alias: description: Alias type: string Auth0UserID: description: Auth0 User Id type: string CommunityNickname: description: Nickname type: string CompanyName: description: Company Name type: string ContactID: description: Contact type: string CreatedByID: description: Created User ID type: string CreatedDate: description: Date Created type: string DelegatedApproverID: description: Delegated Approver type: string Department: description: Department type: string Division: description: Division type: string Email: description: Email address type: string EmployeeNumber: description: Employee Number type: string EndOfDay: description: Time day ends type: string Environment: description: Environment type: string Extension: description: Extension type: string FabricAPIKey: description: Fabric API Key type: string Fax: description: Fax type: string FirstName: description: The first name type: string ForecastEnabled: description: Allow Forecasting type: boolean FullPhotoURL: description: Full Photo URL type: string ID: description: Telnexus ID type: string IsActive: description: Active type: boolean IsPortalEnabled: description: Is the user enabled for Communities? type: boolean IsProphilePhotoActive: description: Has Profile Photo type: boolean IsSystemControlled: type: boolean LastIP: description: IP address of last login type: string LastLogin: description: Last login time type: string LastModifiedByID: description: Last Modified User ID type: string LastModifiedDate: description: Last Modified Date type: string LastName: description: The Last Name type: string LoginCount: description: Number of times user has logged in format: int64 type: number ManagerID: description: Manager type: string MobilePhone: description: Mobile type: string Name: description: Name type: string OutOfOfficeMessage: description: Out of office message type: string Phone: description: Phone type: string PortalRole: description: Portal Role Level type: string ProfileID: description: Profile type: string ReceivesAdminEmails: description: Info Emails type: boolean ReceivesAdminInfoEmails: description: Admin Info Emails type: boolean SenderEmail: description: Email Sender Address type: string SenderName: description: Email Sender Name type: string Signature: description: Email Signature type: string SmallPhotoURL: description: Small Photo URL type: string StartOfDay: description: The time day starts type: string TelnexusAccount: description: Telnexus Account type: string TenantID: description: Tenant ID associated with this user type: string TenantUsers: items: $ref: "#/definitions/TenantUser" type: array TimeZone: description: Time Zone type: string Title: description: Title type: string UserRoleID: description: Role type: string UserRoles: items: $ref: "#/definitions/UserRole" type: array UserType: description: User Type type: string Username: description: Username type: string type: object UserRequest: properties: Data: items: $ref: "#/definitions/User" type: array type: object UserResponse: description: An array of Print-Ready ingest Objects properties: Data: items: $ref: "#/definitions/User" type: array Meta: $ref: "#/definitions/ResponseMeta" type: object UserRole: description: Relationship object that connects user to a role properties: AccountID: description: Account Id type: string Auth0RoleID: description: Linked role ID type: string Auth0UserID: description: Auth0 User ID type: string CompanyName: description: Company Name type: string ContactID: description: Contact ID type: string RoleDescription: description: Role description type: string RoleID: description: The Role ID type: string RoleName: description: Role Name type: string TelnexusAccount: description: Telnexus Account Number type: string UserEmail: description: User Email Address type: string UserFullName: description: User Full Name type: string UserID: description: The User ID type: string Username: description: Username type: string type: object