> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/compliance/register-a-new-legal-entity",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Register a new legal entity

> Registers a new legal entity for the workspace using its LEI (Legal Entity Identifier) code. The LEI is validated against the GLEIF registry. Each workspace can register multiple legal entities.
Endpoint Permission: Admin, Non-Signing Admin.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /legal_entities
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /legal_entities:
    post:
      tags:
        - Compliance
      summary: Register a new legal entity
      description: >-
        Registers a new legal entity for the workspace using its LEI (Legal
        Entity Identifier) code. The LEI is validated against the GLEIF
        registry. Each workspace can register multiple legal entities.

        Endpoint Permission: Admin, Non-Signing Admin.
      operationId: registerLegalEntity
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterLegalEntityRequest'
      responses:
        '201':
          description: Legal entity registered successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegalEntityRegistration'
        '400':
          description: Invalid LEI or request parameters
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '404':
          description: LEI not found in the GLEIF registry
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '409':
          description: A legal entity with this LEI is already registered for the workspace
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '500':
          description: Internal Server Error
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<LegalEntityRegistration>>
            =
            fireblocks.compliance.registerLegalEntity(complianceApiRegisterLegalEntityRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<LegalEntityRegistration>> response =
            fireblocks.compliance().registerLegalEntity(registerLegalEntityRequest,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.compliance.register_legal_entity(register_legal_entity_request,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    RegisterLegalEntityRequest:
      type: object
      description: Request body to register a new legal entity
      properties:
        lei:
          type: string
          description: >-
            Legal Entity Identifier (LEI) code to register. Must be a valid
            20-character LEI present in the GLEIF registry.
          example: 529900HNOAA1KXQJUQ27
        travelRuleProviders:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleProvider'
          description: Travel rule providers to associate with this registration
          example:
            - MY_OWN
        travelRuleContactEmail:
          type: string
          format: email
          description: Contact email for travel rule communications
          example: compliance@example.com
      required:
        - lei
    LegalEntityRegistration:
      type: object
      description: Legal entity registration record
      properties:
        id:
          type: string
          format: uuid
          description: Unique registration identifier
          example: 550e8400-e29b-41d4-a716-446655440000
        lei:
          type: string
          description: Legal Entity Identifier (LEI) code
          example: 529900HNOAA1KXQJUQ27
        status:
          $ref: '#/components/schemas/LeiStatus'
        isDefault:
          type: boolean
          description: Whether this is the default legal entity for the workspace
          example: false
        travelRuleProviders:
          type: array
          minItems: 0
          maxItems: 20
          items:
            $ref: '#/components/schemas/TravelRuleProvider'
          description: Travel rule providers configured for this registration
          example:
            - MY_OWN
        travelRuleContactEmail:
          type: string
          format: email
          description: Contact email for travel rule communications
          example: compliance@example.com
        gleifData:
          $ref: '#/components/schemas/GleifData'
        createdAt:
          type: string
          description: Creation timestamp in milliseconds since epoch
          example: '1700000000000'
        updatedAt:
          type: string
          description: Last update timestamp in milliseconds since epoch
          example: '1700000000000'
      required:
        - id
        - lei
        - tenantId
        - status
        - isDefault
        - travelRuleProviders
        - createdAt
        - updatedAt
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    TravelRuleProvider:
      type: string
      description: Travel rule compliance provider
      enum:
        - CODE
        - GTR
        - MY_OWN
        - NOTABENE
        - SYGNA
        - SUMSUB
        - TRISA
        - TRUST
        - TWENTY_ONE_ANALYTICS
        - VERIFY_VASP
    LeiStatus:
      type: string
      description: Approval status of a legal entity registration
      enum:
        - PENDING
        - APPROVED
        - DENIED
        - REVOKED
    GleifData:
      type: object
      description: >-
        GLEIF (Global Legal Entity Identifier Foundation) data for a legal
        entity
      properties:
        lei:
          type: string
          description: Legal Entity Identifier (LEI) code
          example: 529900HNOAA1KXQJUQ27
        legalName:
          type: string
          description: Official legal name of the entity
          example: Example Corporation Ltd.
        legalNameLanguage:
          type: string
          description: Two-letter ISO 639-1 language code
          example: en
          minLength: 2
          maxLength: 2
        otherNames:
          type: array
          minItems: 0
          maxItems: 20
          items:
            $ref: '#/components/schemas/GleifOtherLegalEntityName'
          description: Alternative names for the entity
          example:
            - name: ExCorp
              language: en
            - name: Example Corp
              language: en
        legalAddressRegion:
          type: string
          description: Region or state of the legal address
          example: NY
        legalAddressCountry:
          type: string
          description: Country code of the legal address (ISO 3166-1 alpha-2)
          example: US
        nextRenewalDate:
          type: string
          format: date-time
          description: Date when the LEI registration must be renewed
          example: '2025-12-31T00:00:00Z'
      required:
        - lei
        - legalName
        - legalAddressCountry
    GleifOtherLegalEntityName:
      type: object
      properties:
        name:
          type: string
          description: Alternative name of the legal entity
          example: ExCorp
        language:
          type: string
          description: Two-letter ISO 639-1 language code
          example: en
      required:
        - name
        - language
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````