---
title: "FirmV2"
url: "https://developer-staging.agentsync.io/apis/identity/versions/1ed33a2c-924a-434c-9643-fbc531dea1b8/schemas/FirmV2"
---

> Full API specification: https://developer-staging.agentsync.io/apis/identity/versions/1ed33a2c-924a-434c-9643-fbc531dea1b8.md

# FirmV2

Customer-facing firm resource. The FEIN is always masked to ****<last4>; the full FEIN is available only via GET /v2/firms/{firmId}/fein (audited).

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Identity API
  version: v1.275.8
servers:
  - url: https://api.sandbox.agentsync.io/id
    description: Sandbox server
  - url: https://api.agentsync.io/id
    description: Production server
components:
  schemas:
    FirmV2:
      title: FirmV2
      description: >
        Customer-facing firm resource. The FEIN is always masked to ****<last4>;
        the full FEIN is available only via GET /v2/firms/{firmId}/fein
        (audited).
      type: object
      required:
        - id
        - npn
        - createdAt
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the firm.
          readOnly: true
          example: 550e8400-e29b-41d4-a716-446655440000
        npn:
          type: string
          description: National Producer Number.
          readOnly: true
          example: "1234567"
        name:
          type: string
          description: Legal name of the firm.
          example: Acme Insurance LLC
        email:
          type: string
          format: email
          description: Primary contact email address.
          example: contact@acme.com
        type:
          type: string
          description: Business entity type (SC, LLC, SP).
          example: LLC
        finraCrdNumber:
          type: string
          description: FINRA CRD number (digits only, max 11 characters).
          example: "12345"
        fein:
          type: string
          description: >
            Masked Federal Employer Identification Number. Always returned as
            ****<last4>. The full FEIN is never exposed by this endpoint.
          readOnly: true
          example: "****6789"
        testAccount:
          type: boolean
          description: Whether this is a test account.
          example: false
        createdAt:
          type: string
          format: date-time
          description: ISO-8601 UTC timestamp when the firm was created.
          readOnly: true
          example: 2024-01-15T10:30:00Z
        updatedAt:
          type: string
          format: date-time
          description: ISO-8601 UTC timestamp of the last update.
          readOnly: true
          example: 2024-06-01T14:22:00Z
```
