Harbor Compliance Registered Agents API

Registered agent appointment and management for business entities.

OpenAPI Specification

harbor-compliance-registered-agents-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Harbor Compliance Compliance Filings Registered Agents 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: Registered Agents
  description: Registered agent appointment and management for business entities.
paths:
  /registered-agents:
    get:
      operationId: listRegisteredAgents
      summary: Harbor Compliance List registered agent appointments
      description: Returns a paginated list of registered agent appointments for entities managed under the partner account. Includes appointment status and jurisdiction details.
      tags:
      - Registered Agents
      parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/perPageParam'
      - name: entity_id
        in: query
        description: Filter by entity identifier.
        schema:
          type: string
      - name: state
        in: query
        description: Filter by state jurisdiction.
        schema:
          type: string
          pattern: ^[A-Z]{2}$
      responses:
        '200':
          description: A paginated list of registered agent appointments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/RegisteredAgent'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createRegisteredAgentAppointment
      summary: Harbor Compliance Appoint a registered agent
      description: Creates a new registered agent appointment for a business entity in a specified state. Harbor Compliance will file the necessary paperwork with the state to formalize the appointment.
      tags:
      - Registered Agents
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisteredAgentCreate'
      responses:
        '201':
          description: The newly created registered agent appointment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisteredAgent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /registered-agents/{agentId}:
    get:
      operationId: getRegisteredAgent
      summary: Harbor Compliance Get a registered agent appointment
      description: Retrieves details about a specific registered agent appointment including the agent's address, appointment status, and associated entity.
      tags:
      - Registered Agents
      parameters:
      - $ref: '#/components/parameters/agentIdParam'
      responses:
        '200':
          description: Registered agent appointment details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisteredAgent'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    RegisteredAgent:
      type: object
      title: RegisteredAgent
      description: A registered agent appointment for a business entity in a state.
      required:
      - id
      - entity_id
      - state
      - status
      properties:
        id:
          type: string
          description: Unique identifier for the registered agent appointment.
        entity_id:
          type: string
          description: Identifier of the entity for which the agent is appointed.
        state:
          type: string
          description: Two-letter state code where the agent is appointed.
          pattern: ^[A-Z]{2}$
        status:
          type: string
          description: Current status of the registered agent appointment.
          enum:
          - active
          - pending
          - resigned
          - revoked
        agent_name:
          type: string
          description: Name of the registered agent.
        agent_address:
          $ref: '#/components/schemas/Address'
        appointment_date:
          type: string
          format: date
          description: Date the registered agent was officially appointed.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the appointment record was created.
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the last update.
    RegisteredAgentCreate:
      type: object
      title: RegisteredAgentCreate
      description: Fields required to create a registered agent appointment.
      required:
      - entity_id
      - state
      properties:
        entity_id:
          type: string
          description: Identifier of the entity requiring a registered agent.
        state:
          type: string
          description: Two-letter state code where the agent should be appointed.
          pattern: ^[A-Z]{2}$
        notes:
          type: string
          description: Optional notes for the registered agent appointment request.
    Address:
      type: object
      title: Address
      description: A postal address.
      required:
      - street1
      - city
      - state
      - zip
      properties:
        street1:
          type: string
          description: Primary street address line.
        street2:
          type: string
          description: Secondary street address line (suite, unit, etc.).
        city:
          type: string
          description: City name.
        state:
          type: string
          description: Two-letter state code.
          pattern: ^[A-Z]{2}$
        zip:
          type: string
          description: ZIP or postal code.
          pattern: ^\d{5}(-\d{4})?$
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          default: US
    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.
    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.
  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'
  parameters:
    agentIdParam:
      name: agentId
      in: path
      required: true
      description: Unique identifier for the registered agent appointment.
      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
  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/