Harbor Compliance Compliance Filings API

Annual reports, compliance filings, and deadline tracking.

OpenAPI Specification

harbor-compliance-compliance-filings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Harbor Compliance Compliance Filings 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: Compliance Filings
  description: Annual reports, compliance filings, and deadline tracking.
paths:
  /entities/{entityId}/compliance:
    get:
      operationId: getEntityCompliance
      summary: Harbor Compliance Get compliance status for an entity
      description: Returns the full compliance status for a business entity including upcoming filing deadlines, overdue items, and a summary of active compliance requirements across all jurisdictions where the entity operates.
      tags:
      - Compliance Filings
      parameters:
      - $ref: '#/components/parameters/entityIdParam'
      responses:
        '200':
          description: Entity compliance status summary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /filings:
    get:
      operationId: listFilings
      summary: Harbor Compliance List compliance filings
      description: Returns a paginated list of compliance filings including annual reports, statements of information, and other required regulatory submissions. Results can be filtered by entity, state, filing type, and status.
      tags:
      - Compliance Filings
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/perPageParam'
      - name: entity_id
        in: query
        description: Filter filings by entity identifier.
        schema:
          type: string
      - name: state
        in: query
        description: Filter filings by state jurisdiction.
        schema:
          type: string
          pattern: ^[A-Z]{2}$
      - name: status
        in: query
        description: Filter by filing status.
        schema:
          type: string
          enum:
          - pending
          - in_progress
          - filed
          - overdue
          - waived
      - name: due_before
        in: query
        description: Filter filings due before this date (ISO 8601 date).
        schema:
          type: string
          format: date
      responses:
        '200':
          description: A paginated list of compliance filings.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Filing'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /filings/{filingId}:
    get:
      operationId: getFiling
      summary: Harbor Compliance Get a compliance filing
      description: Retrieves details about a specific compliance filing including its type, due date, status, and any documents associated with the filing.
      tags:
      - Compliance Filings
      parameters:
      - $ref: '#/components/parameters/filingIdParam'
      responses:
        '200':
          description: Compliance filing details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filing'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ComplianceDeadline:
      type: object
      title: ComplianceDeadline
      description: A single upcoming or overdue compliance deadline.
      required:
      - type
      - state
      - due_date
      - status
      properties:
        type:
          type: string
          description: Type of compliance requirement.
          enum:
          - annual_report
          - biennial_report
          - license_renewal
          - registered_agent
          - franchise_tax
          - other
        state:
          type: string
          description: Two-letter state code for the jurisdiction.
          pattern: ^[A-Z]{2}$
        due_date:
          type: string
          format: date
          description: Date the compliance item is due.
        status:
          type: string
          description: Current status of the compliance item.
          enum:
          - pending
          - in_progress
          - overdue
        description:
          type: string
          description: Human-readable description of the compliance requirement.
        filing_id:
          type: string
          description: Reference to the associated filing record, if applicable.
        license_id:
          type: string
          description: Reference to the associated license record, if applicable.
    Filing:
      type: object
      title: Filing
      description: A required compliance filing such as an annual report or statement of information.
      required:
      - id
      - entity_id
      - state
      - filing_type
      - status
      properties:
        id:
          type: string
          description: Unique identifier for the filing.
        entity_id:
          type: string
          description: Identifier of the entity required to submit this filing.
        state:
          type: string
          description: Two-letter state code of the filing jurisdiction.
          pattern: ^[A-Z]{2}$
        filing_type:
          type: string
          description: Type of required compliance filing.
          enum:
          - annual_report
          - biennial_report
          - statement_of_information
          - franchise_tax
          - beneficial_ownership
          - other
        status:
          type: string
          description: Current status of the filing.
          enum:
          - pending
          - in_progress
          - filed
          - overdue
          - waived
        due_date:
          type: string
          format: date
          description: Date by which the filing must be submitted to the state.
        filed_date:
          type: string
          format: date
          description: Date the filing was actually submitted, if completed.
        fee:
          type: number
          description: Filing fee in USD charged by the state.
        filing_period:
          type: string
          description: The period or year covered by this filing (e.g., '2025').
        documents:
          type: array
          description: Documents associated with this filing.
          items:
            $ref: '#/components/schemas/Document'
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the filing record was created.
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the last update.
    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.
    Document:
      type: object
      title: Document
      description: A document associated with a filing or order.
      required:
      - id
      - name
      properties:
        id:
          type: string
          description: Unique identifier for the document.
        name:
          type: string
          description: Display name of the document.
        type:
          type: string
          description: Document type (e.g., filed_report, confirmation, receipt).
        url:
          type: string
          format: uri
          description: URL to download or view the document.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the document was created.
    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.
    ComplianceStatus:
      type: object
      title: ComplianceStatus
      description: A summary of the compliance status for a business entity.
      required:
      - entity_id
      - overall_status
      properties:
        entity_id:
          type: string
          description: Identifier of the entity this status applies to.
        overall_status:
          type: string
          description: Overall compliance health status for the entity.
          enum:
          - compliant
          - attention_required
          - non_compliant
        upcoming_deadlines:
          type: array
          description: Compliance items due within the next 90 days.
          items:
            $ref: '#/components/schemas/ComplianceDeadline'
        overdue_items:
          type: array
          description: Compliance items that are past their due date.
          items:
            $ref: '#/components/schemas/ComplianceDeadline'
        active_licenses_count:
          type: integer
          description: Total number of active business licenses.
          minimum: 0
        expiring_licenses_count:
          type: integer
          description: Number of licenses expiring within the next 90 days.
          minimum: 0
        registered_agent_states:
          type: array
          description: List of states where the entity has an active registered agent.
          items:
            type: string
            pattern: ^[A-Z]{2}$
        generated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when this status was generated.
  responses:
    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'
  parameters:
    pageParam:
      name: page
      in: query
      description: Page number for paginated results (1-based).
      schema:
        type: integer
        minimum: 1
        default: 1
    entityIdParam:
      name: entityId
      in: path
      required: true
      description: Unique identifier for the business entity.
      schema:
        type: string
    filingIdParam:
      name: filingId
      in: path
      required: true
      description: Unique identifier for the compliance filing.
      schema:
        type: string
    perPageParam:
      name: per_page
      in: query
      description: Number of results per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  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/