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

# Cria uma nova regra de ponto



## OpenAPI

````yaml https://api.pre.pontua.tech/api/public/doc-json post /regras-de-ponto
openapi: 3.0.0
info:
  title: Pontua Public API
  description: >-
    API oficial da Pontua para integrações de clientes externos. Autentique com
    o token gerado no dashboard em **Configurações → API**. Envie o token no
    header `Authorization: Bearer <SEU_TOKEN>`.
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /regras-de-ponto:
    post:
      tags:
        - Regras de ponto
      summary: Cria uma nova regra de ponto
      operationId: RegrasDePontoController_CriarRegraDePonto
      parameters: []
      requestBody:
        required: true
        description: Dados para criação da regra
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CriarRegraDePontoDto'
            examples:
              'HE: Horas extras':
                value:
                  tipoRegrasDePonto: HORAS_EXTRAS
              'BH: Banco de horas':
                value:
                  tipoRegrasDePonto: BANCO_DE_HORAS
              'Misto: Horas extras e banco de horas':
                value:
                  tipoRegrasDePonto: MISTO
              'HE (padrão sistema): Horas extras':
                value:
                  tipoRegrasDePonto: HORAS_EXTRAS
                  padraoSistema: true
              'BH (padrão sistema): Banco de horas':
                value:
                  tipoRegrasDePonto: BANCO_DE_HORAS
                  padraoSistema: true
              'Misto (padrão sistema): Horas extras e banco de horas':
                value:
                  tipoRegrasDePonto: MISTO
                  padraoSistema: true
      responses:
        '201':
          description: Regra criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegraDePontoDto'
              examples:
                'HE: Horas extras':
                  value:
                    regraDePontoId: 72a3e315-2987017ce62d
                    nome: Regra de ponto HORA EXTRA
                    codigo: 1
                    step: CONFIG_HORA_EXTRA
                    tipoRegrasDePonto: HORAS_EXTRAS
                    ativo: false
                    colaboradores: 0
                    padraoSistema: false
                'BH: Banco de horas':
                  value:
                    regraDePontoId: 72a3e315-2987017ce62d
                    nome: Regra de ponto banco de horas
                    codigo: 2
                    step: CONFIG_BANCO_HORAS
                    tipoRegrasDePonto: BANCO_DE_HORAS
                    ativo: false
                    colaboradores: 0
                    padraoSistema: false
                'Misto: Horas extras e banco de horas':
                  value:
                    regraDePontoId: 72a3e315-2987017ce62d
                    nome: Regra de ponto Mista
                    codigo: 3
                    step: CONFIG_MISTO
                    tipoRegrasDePonto: MISTO
                    ativo: false
                    colaboradores: 0
                    padraoSistema: false
                HE como padrão do sistema:
                  value:
                    regraDePontoId: 72a3e315-2987017ce62d
                    nome: Regra de ponto HE padrão
                    codigo: 4
                    step: CONFIG_HORA_EXTRA
                    tipoRegrasDePonto: HORAS_EXTRAS
                    ativo: false
                    colaboradores: 0
                    padraoSistema: true
        default:
          description: "\n\t\t\t400 - Bad Request: A solicitação não está no formato correto.\n\t\t\t401 - Unauthorized: A solicitação não foi autorizada. Verifique se o token de acesso é válido.\n\t\t\t403 - Forbidden: Acesso proibido! Requer um nível de permissão mais elevado.\n\t\t\t404 - Not Found: O recurso solicitado não foi encontrado.\n\t\t\t500 - Internal Server Error: Erro de execução no servidor!\n\t\t\t"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
      deprecated: false
      security:
        - bearer: []
components:
  schemas:
    CriarRegraDePontoDto:
      type: object
      properties:
        tipoRegrasDePonto:
          type: string
          description: Tipo da regra de ponto
          enum:
            - HORAS_EXTRAS
            - BANCO_DE_HORAS
            - MISTO
          default: HORAS_EXTRAS
        padraoSistema:
          type: boolean
          description: Indica se é um registro de padrão de sistema
          example: false
      required:
        - tipoRegrasDePonto
    RegraDePontoDto:
      type: object
      properties:
        regraDePontoId:
          type: string
          description: Id da Regra de ponto
          example: regraDePontoId-id
        nome:
          type: string
          description: Nome default da regra
          example: Regra de ponto 5
        codigo:
          type: number
          description: Código de identificação da regra
          example: 5
        tipoRegrasDePonto:
          type: string
          description: Tipo da regra de ponto
          enum:
            - HORAS_EXTRAS
            - BANCO_DE_HORAS
            - MISTO
          default: HORAS_EXTRAS
        step:
          type: string
          description: Proximo step de configuração
          enum:
            - CONFIG_HORA_EXTRA
            - CONFIG_BANCO_HORAS
            - CONFIG_MISTO
            - HORAS_NEGATIVAS
            - FLEXIBILIDADE_TOLERANCIA
            - ADICIONAL_NOTURNO
            - DSR
            - TOLERANCIA
            - IDENTIFICACAO
            - CONCLUIDO
          default: CONFIG_HORA_EXTRA
        ativo:
          type: boolean
          description: Retorna se regra está ativa
          example: false
        colaboradores:
          type: number
          description: Retorna quantidade de colaboradores
          example: 10
        padraoSistema:
          type: boolean
          description: Retorna flag para registro criado por padrão no sistema
          example: false
        createdAt:
          format: date-time
          type: string
          description: Data de criação
          example: '2026-05-11T13:08:58.677Z'
        updatedAt:
          format: date-time
          type: string
          description: Data de update
          example: '2026-05-11T13:08:58.677Z'
      required:
        - regraDePontoId
        - nome
        - codigo
        - tipoRegrasDePonto
        - step
        - ativo
        - colaboradores
        - padraoSistema
        - createdAt
        - updatedAt
    ErrorDto:
      type: object
      properties:
        service:
          type: string
          description: Rota solicitada
        method:
          type: string
          description: Método http
        message:
          description: Mensagem do erro
          oneOf:
            - type: string
              example: message erro
            - type: array
              items:
                type: string
                example:
                  - erro 1
                  - erro 2
      required:
        - service
        - method
        - message

````