Lista as OS de um CD, pela visão de quem pede
view=open são as OS abertas do CD; mine, as de quem pede; team, as da equipe, com free (quem está livre para receber) para quem pode despachar. in_hand é a OS que quem pede tem na mão agora. Paginado.
work_order.listQuem cria a chave escolhe as ações que ela abre; sem esta, a rota recusa com api_key_action_not_granted.
Parâmetros da consulta
O código do CD. Sem ele, o CD ativo mais antigo.
De 1 a 200; 50 por padrão.
A origem da leitura, para o livro de recusas.
Vazio ou ausente é open.
Devolve
O data do envelope { ok, data, error, error_code, field, trace_id }:
Só na visão team, para quem pode despachar: quem está livre.
2 campos
2 campos
A OS que quem pede tem na mão agora.
12 campos
Quantas paradas a OS tem.
receive, putaway, pick, count, move, replenish ou unplace.
open, in_progress, done ou cancelled.
14 campos
A posição da primeira parada.
Quantas paradas a OS tem.
receive, putaway, pick, count, move, replenish ou unplace.
open, in_progress, done ou cancelled.
Paradas que esperam uma reposição.
Recusas
HTTP 400 · Pedido mal formado
invalid_limit HTTP 400limit fora da faixa: de 1 a 200.invalid_offset HTTP 400offset inválido: um inteiro de zero para cima.invalid_view HTTP 400Recorte inválido: use um dos valores declarados no parâmetro.version_unknown HTTP 400A Kernos-Version pedida não existe. Use uma das versões declaradas no cabeçalho, ou não o mande.HTTP 401 · Sem credencial válida
api_key_expired HTTP 401A chave venceu. Gire a chave no painel e use a nova.api_key_wrong_environment HTTP 401A chave é do outro ambiente: ksk_test_ vai em https://stag.kernos.com.br, ksk_live_ em https://api.kernos.com.br.unauthenticated HTTP 401Credencial ausente, inválida ou expirada.HTTP 403 · Sem permissão
agent_token_out_of_scope HTTP 403O token de agente (kat_) só vale na porta MCP. Para a API, use o token de sessão ou uma chave de integração.api_key_action_not_granted HTTP 403A chave não tem esta ação. Edite as ações da chave no painel.api_key_out_of_scope HTTP 403A chave só vale nas rotas do contrato público.depot_out_of_reach HTTP 403Quem chama não alcança o CD deste objeto. Peça alcance ao CD ou use outra credencial.forbidden_role HTTP 403O papel de quem chama nesta empresa não permite esta ação.module_not_subscribed HTTP 403A empresa não assina o módulo desta rota.tenant_mismatch HTTP 403A credencial não pertence à empresa do endereço chamado.tenant_unavailable HTTP 403A empresa está indisponível no momento.HTTP 404 · Não encontrado
depot_not_found HTTP 404Não existe CD com esse depot_code nesta empresa.HTTP 409 · Conflito
depot_inactive HTTP 409O CD está fechado. Reabra o CD antes de mexer no que está dentro dele.no_active_depot HTTP 409A empresa não tem CD ativo; sem depot_code, não há CD a usar.HTTP 429 · Muitos pedidos
rate_limited HTTP 429Muitos pedidos por segundo com esta chave. Espere o Retry-After, em segundos, e tente de novo.curl -X GET "https://stag.kernos.com.br/v1/objects/work-order?limit=20" \
-H "Authorization: Bearer ksk_test_…" \
-H "Kernos-Version: 2026-10-03"import { Kernos } from '@kernosbr/kernos'
const kernos = new Kernos(process.env.KERNOS_API_KEY)
const result = await kernos.workOrder.list({ limit: 20 })import os
from kernos import Kernos
kernos = Kernos(os.environ["KERNOS_API_KEY"])
result = kernos.work_order.list({"limit": 20})<?php
$kernos = new Kernos\Kernos(getenv('KERNOS_API_KEY'));
$result = $kernos->workOrder->list(['limit' => 20]);Kernos kernos = new Kernos(System.getenv("KERNOS_API_KEY"));
JsonNode result = kernos.workOrder().list(Map.of("limit", 20));var kernos = new KernosClient(Environment.GetEnvironmentVariable("KERNOS_API_KEY"));
var result = await kernos.WorkOrder.ListAsync(new Dictionary<string, object?> { ["limit"] = 20 });client, err := kernos.New(os.Getenv("KERNOS_API_KEY"))
result, err := client.WorkOrder.List(ctx, map[string]any{"limit": 20})let kernos = Kernos::new(&std::env::var("KERNOS_API_KEY")?)?;
let result = kernos.work_order().list(Some(&json!({ "limit": 20 })), None)?;{
"ok": true,
"data": {
"depot_code": "…",
"free": {
"people": [
{
"member_id": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
"name": "…"
}
],
"total": 0
},
"in_hand": {
"claimed_by": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
"claimed_by_email": "…",
"claimed_by_name": "…",
"created_at": "2026-10-03T12:00:00Z",
"depot_code": "…",
"id": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
"items": 0,
"items_done": 0,
"kind": "…",
"priority": 0,
"short_code": "…",
"status": "…"
},
"limit": 0,
"offset": 0,
"total": 0,
"view": "open",
"work_orders": [
{
"claimed_by": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
"claimed_by_email": "…",
"claimed_by_name": "…",
"created_at": "2026-10-03T12:00:00Z",
"depot_code": "…",
"first_location_code": "…",
"id": "3f1e0c8a-5b7d-4c21-9a3e-0b1c2d3e4f50",
"items": 0,
"items_done": 0,
"kind": "…",
"priority": 0,
"short_code": "…",
"status": "…",
"stops_waiting": 0
}
]
},
"error": null,
"error_code": null,
"field": null,
"trace_id": null
}ksk_test_ fala com https://stag.kernos.com.br; ksk_live_, com https://api.kernos.com.br. O prefixo da chave escolhe o endereço.