Hacware Customer API

The Customer API from Hacware — 6 operation(s) for customer.

OpenAPI Specification

hacware-customer-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Security Awareness API Documentation Admin Customer API
  description: This API documentation explains how to build your own AI powered security awareness and training application. HacWare is an AI-powered security awareness training and phishing simulation platform. This OpenAPI was derived by API Evangelist from HacWare's published apiDoc documentation.
  version: 1.0.4
  contact:
    name: HacWare
    email: hello@hacware.com
    url: https://hacware.com/dev.html
  termsOfService: https://hacware.com/terms-of-service
servers:
- url: https://{domain}
  description: Per-tenant HacWare API host; {domain} is the subdomain assigned to your company at onboarding.
  variables:
    domain:
      default: app.hacware.com
tags:
- name: Customer
paths:
  /api/v1/admin/get_company_dns:
    get:
      operationId: GetCompanyDNS
      summary: Get Company DNS
      description: Returns the company DNS information.
      tags:
      - Customer
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
  /api/v1/admin/brandupload/:
    post:
      operationId: PostBrandUpload
      summary: Brand Upload
      description: Uploads company logo link and changes application name.
      tags:
      - Customer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: Company name that will be changed on the application. (Required)
                logo_link:
                  type: string
                  description: Imagelink of the company logo to be uploaded to the application. (Required)
              required:
              - company_name
              - logo_link
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
  /api/v1/admin/brand_upload_reporter/:
    post:
      operationId: PostBrandUploadReporter
      summary: Brand Upload for Reporter
      description: Uploads company logo link for the reporter.
      tags:
      - Customer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: Company name that will be changed on the application. (Required)
                logo_link:
                  type: string
                  description: Imagelink of the company logo to be uploaded to the application. (Required)
              required:
              - company_name
              - logo_link
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
  /api/v1/admin/custom_domain:
    post:
      operationId: PostCustomDomain
      summary: Upload custom domain.
      description: Changes the customer default domain to a custom domain. For example, default is company.hacware.com to the new domain for that custom.
      tags:
      - Customer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                custom_domain:
                  type: string
                  description: New custom domain to be uploaded. (Required)
              required:
              - custom_domain
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
  /api/v1/org/update-company-info/:
    post:
      operationId: PostUpdateCompanyInformation
      summary: Update Company Information
      description: Change the Company Information
      tags:
      - Customer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                full_company_name:
                  type: string
                  description: The full company name for the company. (Optional)
                company_alias:
                  type: string
                  description: The company alias is the abbreviation and short version of the company name. (Optional)
                ceo_name:
                  type: string
                  description: The ceo name is the CEO first name and last name or the company leadership.  This will be used in phishing messages. (Required)
                ceo_email:
                  type: string
                  description: The ceo email is the CEO email address that will be used in phishing simulations. (Required)
                security_officer:
                  type: string
                  description: The security leads first and last name. This will be used for phishing and emails. (Required)
                sec_officer_email:
                  type: string
                  description: The security officer's email.  This will be used in phishing email and training escalations. (Required)
                product_type:
                  type: string
                  description: The product type defines the type of product. The product type was Pro, Plus, Super, and Basic. (Optional)
                send_reminders_and_esclations:
                  type: string
                  description: The send_reminders_and_esclations is a 'true'/'false' value for turning on or off the training reminders.  The default value is 'true'. (Optional)
                sec_escalation_email:
                  type: string
                  description: The sec_escalation_email is the security training reminder contact. (Optional)
                mgt_escalation_email:
                  type: string
                  description: The mgt_escalation_email is the management training reminder contact. (Optional)
                phish_report_email:
                  type: string
                  description: The phish_report_email is the phishing report email contact. (Required)
                invites_enabled:
                  type: string
                  description: The invites_enabled is a 'true'/'false' value for turning on or off welcome emails. The default value is 'true'. (Optional)
                lang:
                  type: string
                  description: lang is a string containing a two-letter ISO language code. The default value is 'en'. (Optional)
                role_manager:
                  type: string
                  description: role_maanger is a string that determines how user roles or managed. It can be either 'invite' (HacWare email invites) or 'ms' (Microsoft Entra ID). (Optional)
              required:
              - ceo_name
              - ceo_email
              - security_officer
              - sec_officer_email
              - phish_report_email
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
  /api/v1/admin/reset_custom_domain:
    post:
      operationId: ResetCustomDomain
      summary: Reset custom domain.
      description: Uploads a custom domain.
      tags:
      - Customer
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request. The error message describes the problem.
        '401':
          description: Unauthorized. Missing or invalid bearer token.
      security:
      - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token obtained from POST /api/v1/auth/ (exchange appid + secret key). Tokens expire ~1 hour after issue; use the refresh token to renew.
externalDocs:
  description: HacWare API Documentation
  url: https://www.hacware.com/doc/index.html