Harbor Compliance Licenses API

Business license applications, renewals, and status tracking across jurisdictions.

OpenAPI Specification

harbor-compliance-licenses-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Harbor Compliance Compliance Filings Licenses API
  description: The Harbor Compliance API enables partners to integrate compliance management capabilities into their platforms. The API provides programmatic access to business licensing, registered agent services, compliance tracking, and entity management workflows. Partners can automate compliance tasks, monitor filing deadlines, manage registered agent appointments, and track licensing requirements across jurisdictions.
  version: '1.0'
  contact:
    name: Harbor Compliance Support
    url: https://www.harborcompliance.com/contact
  termsOfService: https://www.harborcompliance.com/terms-of-service
servers:
- url: https://api.harborcompliance.com/v1
  description: Production Server
security:
- apiKey: []
tags:
- name: Licenses
  description: Business license applications, renewals, and status tracking across jurisdictions.
paths:
  /licenses:
    get:
      operationId: listLicenses
      summary: Harbor Compliance List business licenses
      description: Returns a paginated list of business licenses managed for partner entities. Licenses can be filtered by entity, jurisdiction, license type, and status.
      tags:
      - Licenses
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/perPageParam'
      - name: entity_id
        in: query
        description: Filter licenses by entity identifier.
        schema:
          type: string
      - name: state
        in: query
        description: Filter licenses by state jurisdiction.
        schema:
          type: string
          pattern: ^[A-Z]{2}$
      - name: status
        in: query
        description: Filter by license status.
        schema:
          type: string
          enum:
          - active
          - pending
          - expired
          - revoked
      responses:
        '200':
          description: A paginated list of business licenses.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/License'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createLicense
      summary: Harbor Compliance Create a license application
      description: Submits a new business license application for a specified entity and jurisdiction. Harbor Compliance will process the application and update the status as it progresses through the licensing workflow.
      tags:
      - Licenses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicenseCreate'
      responses:
        '201':
          description: The newly created license application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/License'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /licenses/{licenseId}:
    get:
      operationId: getLicense
      summary: Harbor Compliance Get a business license
      description: Retrieves detailed information about a specific business license including its current status, expiration date, renewal requirements, and associated filings.
      tags:
      - Licenses
      parameters:
      - $ref: '#/components/parameters/licenseIdParam'
      responses:
        '200':
          description: Business license details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/License'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /licenses/{licenseId}/renew:
    post:
      operationId: renewLicense
      summary: Harbor Compliance Renew a business license
      description: Initiates the renewal process for an existing business license. This creates a renewal order that Harbor Compliance will process through the appropriate jurisdiction's renewal workflow.
      tags:
      - Licenses
      parameters:
      - $ref: '#/components/parameters/licenseIdParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                notes:
                  type: string
                  description: Optional notes for the renewal request.
      responses:
        '200':
          description: The updated license record with renewal initiated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/License'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    licenseIdParam:
      name: licenseId
      in: path
      required: true
      description: Unique identifier for the business license.
      schema:
        type: string
    pageParam:
      name: page
      in: query
      description: Page number for paginated results (1-based).
      schema:
        type: integer
        minimum: 1
        default: 1
    perPageParam:
      name: per_page
      in: query
      description: Number of results per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  responses:
    BadRequest:
      description: The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    LicenseCreate:
      type: object
      title: LicenseCreate
      description: Fields required to submit a new business license application.
      required:
      - entity_id
      - state
      - license_type
      properties:
        entity_id:
          type: string
          description: Identifier of the entity applying for the license.
        state:
          type: string
          description: Two-letter state code for the licensing jurisdiction.
          pattern: ^[A-Z]{2}$
        license_type:
          type: string
          description: Type of business license being applied for.
        notes:
          type: string
          description: Additional notes or instructions for the license application.
    PaginationMeta:
      type: object
      title: PaginationMeta
      description: Pagination metadata included with list responses.
      properties:
        total:
          type: integer
          description: Total number of records matching the query.
        page:
          type: integer
          description: Current page number.
        per_page:
          type: integer
          description: Number of records per page.
        total_pages:
          type: integer
          description: Total number of pages available.
    License:
      type: object
      title: License
      description: A business license held by an entity in a specific jurisdiction.
      required:
      - id
      - entity_id
      - state
      - license_type
      - status
      properties:
        id:
          type: string
          description: Unique identifier for the license.
        entity_id:
          type: string
          description: Identifier of the entity that holds this license.
        state:
          type: string
          description: Two-letter state code for the licensing jurisdiction.
          pattern: ^[A-Z]{2}$
        license_type:
          type: string
          description: Type or category of business license.
        license_number:
          type: string
          description: License number assigned by the issuing jurisdiction.
        status:
          type: string
          description: Current status of the license.
          enum:
          - active
          - pending
          - expired
          - revoked
        issued_date:
          type: string
          format: date
          description: Date the license was issued.
        expiration_date:
          type: string
          format: date
          description: Date the license expires and must be renewed.
        renewal_date:
          type: string
          format: date
          description: Date by which the renewal must be submitted to avoid lapse.
        agency:
          type: string
          description: Name of the government agency that issued the license.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the license record was created.
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the last update.
    Error:
      type: object
      title: Error
      description: Error response returned when a request fails.
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable description of the error.
        details:
          type: array
          description: Additional details about specific validation errors.
          items:
            type: object
            properties:
              field:
                type: string
                description: The field that caused the error.
              message:
                type: string
                description: Description of the field-level error.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authenticating partner requests. Obtain your API key from the Harbor Compliance developer portal.
externalDocs:
  description: Harbor Compliance Developer Documentation
  url: https://developers.harborcompliance.com/