Atualizado em 17 de outubro de 2026

Considerações

  • Exige o escopo objectives:write e a permissão Metas.
  • Exige Idempotency-Key: repetir a mesma chave devolve a mesma meta (com Idempotency-Replayed: true), sem criar outra.
  • Obrigatório: name. owner_scope diz de quem é a meta: quadro exige board_id; time exige team_id; empresa dispensa os dois (veja Criar uma meta da empresa ou de time). Sem repetição mensal, date_start e date_end também são obrigatórias (o fim não pode ser antes do início).
  • type (resultado, projeto, rotina, sim_nao) e progress_mode (metricas, tarefas, marcos, checkins, confirmacao) definem como a meta é medida. Rotina usa routine_target vezes por routine_cadence (day, week, month); projeto pode ter milestones (name e due_date).
  • Outros campos: priority, visibility (empresa, time_quadro, participantes), participant_ids, parent_id e parent_weight (meta maior e quanto esta pesa nela, em %), faixas band_partial_from e band_exceeded_from (em % do alvo), checkin_cadence (weekly, biweekly, monthly) e checkin_weekday (1 a 5), alerts e on_complete.
  • responsible_id precisa ser do quadro (meta de quadro) ou do time (meta de time). status aceita nao_iniciada ou em_andamento (padrão); draft: true grava como rascunho (veja Publicar um rascunho).
  • Até 20 métricas. manual: name e target_value (current_value opcional). integration: name, target_value e integration_key (minúsculas, números, ., _ e -); o realizado só muda pelo outro sistema. indicator: indicator_key (ex.: crm.won_deals, finance.received, workflow.process_completed) e indicator_filters. task_template: task_template_id, frequency (day, week, month ou period) e frequency_target (user_id opcional). Toda métrica aceita direction (aumentar, reduzir com baseline_value obrigatória, manter com tolerance_min/tolerance_max), weight e count_scope.
  • Com recurrence: monthly, name é o nome sem o mês: a meta fica com as datas do mês de date_start (o mês atual, sem data) e o nome ganha o mês. No fim do mês ela encerra sozinha com o resultado das métricas e a do mês seguinte nasce igual, com o realizado zerado.

Referência

POST /objectives na Referência da API

Como fazer

Meta mensal de um quadro com uma métrica por integração:

cURL
curl -X POST "$MICORE_BASE_URL/objectives" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: request-2026-0001" \
  -H "Content-Type: application/json" \
  -d '{
    "owner_scope": "quadro",
    "board_id": 2,
    "name": "Disponibilidade do sistema",
    "type": "resultado",
    "recurrence": "monthly",
    "achievement_criteria": "Servidores no ar 99,9% do mês.",
    "metrics": [
        {
            "name": "Disponibilidade dos servidores",
            "source": "integration",
            "integration_key": "sentinel.availability",
            "direction": "manter",
            "target_value": 99.900000000000005684341886080801486968994140625,
            "tolerance_min": 99.900000000000005684341886080801486968994140625,
            "tolerance_max": 100,
            "unit": "%"
        }
    ]
}'

Meta com período próprio, uma métrica manual e uma contada por tarefas de um modelo, com check-in semanal:

cURL
curl -X POST "$MICORE_BASE_URL/objectives" \
  -H "Authorization: Bearer $MICORE_TOKEN" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: request-2026-0001" \
  -H "Content-Type: application/json" \
  -d '{
    "owner_scope": "quadro",
    "board_id": 2,
    "name": "Vendas do trimestre",
    "type": "resultado",
    "priority": "alta",
    "date_start": "2026-10-01",
    "date_end": "2026-12-31",
    "responsible_id": 7,
    "checkin_cadence": "weekly",
    "checkin_weekday": 1,
    "metrics": [
        {
            "name": "Planos vendidos",
            "source": "manual",
            "target_value": 40,
            "current_value": 12,
            "weight": 70
        },
        {
            "name": "Reuniões de apresentação",
            "source": "task_template",
            "task_template_id": 15,
            "frequency": "week",
            "frequency_target": 3,
            "weight": 30
        }
    ]
}'

Resposta

Resposta · 201
{
    "data": {
        "id": 58,
        "name": "Disponibilidade do sistema Novembro",
        "type": "resultado",
        "priority": "alta",
        "owner_scope": "quadro",
        "team": null,
        "visibility": "empresa",
        "parent": null,
        "progress_mode": "metricas",
        "routine": null,
        "bands": {
            "partial_from": 80,
            "exceeded_from": 120
        },
        "checkin": {
            "cadence": null,
            "weekday": null
        },
        "alerts": {
            "off_pace": {
                "on": true,
                "pct": 10
            },
            "deadline": {
                "on": true,
                "days": 3
            },
            "milestone": {
                "on": false
            },
            "checkin_late": {
                "on": false
            },
            "recipients": [
                "responsavel",
                "gestor"
            ]
        },
        "on_complete": {
            "next": true,
            "notify": true,
            "report": false,
            "archive_open_tasks": false
        },
        "participants": [],
        "milestones": [],
        "confirmation": null,
        "recurrence": "monthly",
        "recurrence_name": "Disponibilidade do sistema",
        "recurrence_source_id": null,
        "description": null,
        "achievement_criteria": "Servidores no ar 99,9% do mês.",
        "board": {
            "id": 2,
            "name": "Operação"
        },
        "responsible": null,
        "date_start": "2026-11-01",
        "date_end": "2026-11-30",
        "status": "em_andamento",
        "situation": "on_track",
        "progress": {
            "percent": 0,
            "achievement": 0,
            "suggested_result": "nao_atingida",
            "source": "metrics"
        },
        "pace": {
            "elapsed_percent": 40,
            "ideal_percent": 40,
            "days_left": 18,
            "days_total": 30,
            "days_elapsed": 12,
            "projection_percent": 100,
            "achievement": 100
        },
        "closure": null,
        "metrics": [
            {
                "id": 131,
                "name": "Disponibilidade dos servidores",
                "source": "integration",
                "integration_key": "sentinel.availability",
                "indicator_key": null,
                "indicator_filters": null,
                "direction": "manter",
                "baseline_value": null,
                "tolerance_min": 99.900000000000005684341886080801486968994140625,
                "tolerance_max": 100,
                "weight": null,
                "count_scope": null,
                "target_value": 99.900000000000005684341886080801486968994140625,
                "current_value": 0,
                "unit": "%",
                "percent": 0,
                "task_template_id": null,
                "user_id": null,
                "frequency": null,
                "frequency_target": null,
                "updated_at": "2026-11-12T09:00:00-03:00"
            }
        ],
        "created_at": "2026-11-12T09:00:00-03:00",
        "updated_at": "2026-11-12T09:00:00-03:00"
    }
}
Precisa de ajuda?Use o request ID e abra um chamado no miCore se encontrar uma divergência.