---
title: "Study Devices"
method: GET
path: "/api/v1/study/devices"
tags: ["estudo"]
---

# Study Devices

`GET /api/v1/study/devices`

## Request

- Base URL: `https://app.estudoseletricos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.estudoseletricos.com/api/v1/study/devices`
- Auth: none declared

O catálogo de dispositivos de proteção (`devices_db`), servido do núcleo.
Marca, modelo, tipo, In e família de curva são DOMÍNIO: copiá-los para o
TypeScript criaria uma segunda lista para envelhecer sozinha.

## Query parameters

- `tipo` string, nullable
- `todos` boolean

## Response `200`

Successful Response

- DispositivoOut[]
  - `id` string, required
  - `fabricante` string
  - `modelo` string
  - `tipo` string
  - `In_A` number, nullable
  - `curva` string, nullable: característica ajustável do dispositivo; NULA em fusível e MCB (são de BANDA: o tempo sai da própria banda) e no transformador, que não é proteção
  - `nome_exibicao` string: '<fabricante> — <modelo>' (protection_engine.device_display_name): é ESTA string que o projeto v5 grava em `mb.devices.modelo`, e é por ela que a plataforma reencontra o dispositivo ao abrir o arquivo
  - `Icu_kA` number, nullable: a capacidade de interrupção nominal do catálogo (kA) — a MESMA que o duty por dispositivo compara com a corrente da barra. NULA no relé (quem interrompe é o disjuntor que ele comanda) e onde o banco não declara (topo_lineside.icu_do_dispositivo)
  - `familia` string, nullable: relay | cb_adj | fuse | mcb (coord_tab.device_family); NULA no que não é proteção (o transformador está no catálogo pela curva de dano). Diz à UI se há ajuste a oferecer: fusível e MCB têm característica FIXA, e exibi-los com curva, Ir e TMS prometeria um ajuste que não existe.
  - `faixas` FaixasDispositivo: Os ajustes que aquele dispositivo aceita, estágio a estágio. Estágio que ele não tem vem NULO — e nulo não é zero: um `isd` ausente quer dizer que o disjuntor não tem retardo, não que ele esteja em 0.
    - `In_A` number, nullable
    - `curva_padrao` string, nullable
    - `t_inst_ms` number, nullable
    - `norma` string
    - `ir` FaixaAjuste: O que o FABRICANTE oferece num estágio de ajuste. A distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor dentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES. Oferecer passo contínuo onde o trip tem seis posições é prometer um ajuste que não existe no equipamento — e a folha sai com um número que ninguém consegue reproduzir no painel.
      - `modo` 'faixa' | 'passos', required
      - `passos` number[], nullable
      - `min` number, required
      - `max` number, required
    - `tms` FaixaAjuste: O que o FABRICANTE oferece num estágio de ajuste. A distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor dentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES. Oferecer passo contínuo onde o trip tem seis posições é prometer um ajuste que não existe no equipamento — e a folha sai com um número que ninguém consegue reproduzir no painel.
      - `modo` 'faixa' | 'passos', required
      - `passos` number[], nullable
      - `min` number, required
      - `max` number, required
    - `isd` FaixaAjuste: O que o FABRICANTE oferece num estágio de ajuste. A distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor dentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES. Oferecer passo contínuo onde o trip tem seis posições é prometer um ajuste que não existe no equipamento — e a folha sai com um número que ninguém consegue reproduzir no painel.
      - `modo` 'faixa' | 'passos', required
      - `passos` number[], nullable
      - `min` number, required
      - `max` number, required
    - `tsd` FaixaAjuste: O que o FABRICANTE oferece num estágio de ajuste. A distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor dentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES. Oferecer passo contínuo onde o trip tem seis posições é prometer um ajuste que não existe no equipamento — e a folha sai com um número que ninguém consegue reproduzir no painel.
      - `modo` 'faixa' | 'passos', required
      - `passos` number[], nullable
      - `min` number, required
      - `max` number, required
    - `ii` FaixaAjuste: O que o FABRICANTE oferece num estágio de ajuste. A distinção que decide a tela é FAIXA × TAP: o relé aceita qualquer valor dentro do limite, e o disjuntor com disparador eletrônico tem POSIÇÕES. Oferecer passo contínuo onde o trip tem seis posições é prometer um ajuste que não existe no equipamento — e a folha sai com um número que ninguém consegue reproduzir no painel.
      - `modo` 'faixa' | 'passos', required
      - `passos` number[], nullable
      - `min` number, required
      - `max` number, required
    - `isd_desliga` boolean
    - `ii_desliga` boolean
    - `generico` boolean: o relé ou o disjuntor SEM marca e modelo, de faixas livres: a tela oferece também o tempo de eliminação e a tolerância para o usuário declarar
    - `banda` object, nullable: a tolerância do fabricante por estágio — tol_Ir_pct, tol_tr_pct, tol_Isd_pct, tol_tsd_pct, tol_Ii_pct, cada uma (de, até) em % sobre o ajustado; tol_tsd_ms em ms absolutos (com as duas, vale a faixa mais larga)
    - `banda_fonte` string, nullable
    - `tsd_taps_ms` number[], nullable
    - `tsd_break_ms` number[], nullable: o tempo MÁXIMO de interrupção do degrau S, tap a tap (G276)
    - `tsd_hold_ms` number[], nullable: o tempo de NÃO atuação do degrau S, tap a tap — a borda rápida
    - `t_inst_hold_ms` number, nullable
    - `t_inst_disparo_ms` number, nullable: o tempo de DISPARO da instantânea, quando o fabricante o separa da interrupção (G311): o t_inst_ms é o total; este é a decisão
    - `tms_padrao` number, nullable: o TMS que o núcleo usa quando ninguém ajustou (G322): na curva I²t da IEC 60947-2 é o t1/tR em SEGUNDOS; nulo = o padrão de sempre

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/estudoseletricos/apis/arc-flash-platform-api.md) · [All operations](https://skmtc.dev/estudoseletricos/apis/arc-flash-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/estudoseletricos/apis/arc-flash-platform-api/revisions/5877d717cb1b?raw)
