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

# Fiscalize register

> Enqueues fiscalization for the register and returns immediately with `202 Accepted`. Fiscalization happens asynchronously in the background.

The register transitions through `fiscalization_status`: `pending` → `fiscalized` (or `failed`). Poll `GET /registers/{registerId}` until `fiscalization_status` is `fiscalized` before sending operations to the register.



## OpenAPI

````yaml /api-reference/openapi.yaml post /registers/{registerId}/fiscalize
openapi: 3.0.0
info:
  title: OpenFiskal fiscalization API
  description: >-
    OpenFiskal exposes a server-to-server fiscalization API for merchant
    onboarding,

    register setup, and operation handling.


    The `v1` contract uses server-issued resource versions and conditional

    writes through `If-Match` for safe concurrent mutation handling.
  version: 1.1.0
  contact: {}
  license:
    name: Proprietary
servers:
  - url: https://api.openfiskal.com/v1
    description: Production
  - url: https://sandbox.api.openfiskal.com/v1
    description: Sandbox
security: []
tags:
  - name: Merchants
    description: Create and manage merchant merchants.
  - name: Locations
    description: Create and manage merchant locations.
  - name: Registers
    description: Create and manage registers or terminals.
  - name: Operations
    description: Start, update, complete, cancel, list, and read operations.
paths:
  /registers/{registerId}/fiscalize:
    post:
      tags:
        - Registers
      summary: Fiscalize register
      description: >-
        Enqueues fiscalization for the register and returns immediately with
        `202 Accepted`. Fiscalization happens asynchronously in the background.


        The register transitions through `fiscalization_status`: `pending` →
        `fiscalized` (or `failed`). Poll `GET /registers/{registerId}` until
        `fiscalization_status` is `fiscalized` before sending operations to the
        register.
      operationId: RegistersController_fiscalize
      parameters:
        - name: X-OpenFiskal-Merchant
          in: header
          description: Merchant identifier returned by the merchants resource.
          required: true
          schema:
            type: string
        - name: registerId
          required: true
          in: path
          schema:
            type: string
      responses:
        '202':
          description: Fiscalization enqueued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Register'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
              examples:
                default:
                  summary: unauthorized
                  value:
                    code: unauthorized
                    message: Authentication failed.
                    retryable: false
        '403':
          description: >-
            Authenticated caller is not allowed to access the requested tenant,
            country, or merchant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
              examples:
                default:
                  summary: forbidden
                  value:
                    code: forbidden
                    message: The authenticated caller cannot access this resource.
                    retryable: false
        '404':
          description: Register not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
              examples:
                default:
                  summary: not_found
                  value:
                    code: not_found
                    message: The requested resource does not exist.
                    retryable: false
        '409':
          description: Already fiscalized or in progress
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
              examples:
                default:
                  summary: register_already_fiscalized
                  value:
                    code: register_already_fiscalized
                    message: >-
                      Register is already fiscalized or a fiscalization is in
                      progress.
                    retryable: false
        '422':
          description: Fiscalization not supported for this register
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
              examples:
                default:
                  summary: regime_validation_failed
                  value:
                    code: regime_validation_failed
                    message: The payload violates regime-specific validation rules.
                    retryable: false
      security:
        - BearerAuth: []
components:
  schemas:
    Register:
      type: object
      properties:
        id:
          type: string
        merchant_id:
          type: string
        location_id:
          type: string
        name:
          type: string
        external_id:
          type: string
          nullable: true
        status:
          type: string
          enum:
            - active
            - inactive
        fiscalization_status:
          type: string
          enum:
            - not_fiscalized
            - pending
            - failed
            - fiscalized
            - decommissioned
        fiscalization:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/RegisterFiscalization'
        created_at:
          type: string
          format: date-time
      required:
        - id
        - merchant_id
        - location_id
        - name
        - status
        - fiscalization_status
        - created_at
    ErrorDto:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: invalid_request
        message:
          type: string
          description: Human-readable explanation of the error.
        retryable:
          type: boolean
          description: Whether retrying the request is safe.
        details:
          type: object
          description: Additional structured context for the error.
          additionalProperties: true
      required:
        - code
        - message
        - retryable
    RegisterFiscalization:
      type: object
      properties:
        regime:
          type: string
        fiscalized_at:
          type: string
          format: date-time
          nullable: true
        tse_serial:
          type: string
          nullable: true
        client_id:
          type: string
          nullable: true
      required:
        - regime
  securitySchemes:
    BearerAuth:
      scheme: bearer
      bearerFormat: API key
      type: http

````