Apier
(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com) · languages: en · regions: global · more from www.pulsemcp.com →
Compliance API bridging AI agents to Norwegian government systems including Altinn, Maskinporten, and Brønnøysund. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_a40e72b223/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_a40e72b223/ask -d '{"tool":"get_company_summary","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_a40e72b223 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://www.apier.no/api/mcp- Pricing
- not listed
- Access
- open — no gate on the declared surface
- Links
- homepage · listing
Live capabilities — 20 tool(s) it actually exposes · apier-no v2026.10.1 (measured from a real MCP handshake, not self-reported)
get_company_summary — A one-shot summary of obligations and deadlines for a Norwegian organisation: your FIRST call when you orient against a company. One call gives you entity_type,get_public_obligations — Keyless; runs the production path under a sandbox bearer. Retrieve the universal obligation set for a Norwegian entity type — every regulatory obligation that aget_exchange_rate — Keyless; runs the production path under a sandbox bearer. Norges Bank reference exchange rate for a currency against NOK — the benchmark Norwegian tax and accouget_company_profile — Resolve a Norwegian organisasjonsnummer (9 digits) into a structured company profile from Brønnøysund Enhetsregisteret: display name, form of organisation, NACEget_company_context — Brønnøysund identity slice for a Norwegian organisation: legal name, form of organisation, NACE codes, municipality, registration_date, and the signaturrett / pget_company_deadlines — The coming filing calendar for one company, horizon_months ahead. One entry per obligation and period: obligation_id (the rule_id of get_company_obligations), pget_company_obligations — Evaluate the Apier Rulebook for a Norwegian organisation: one entry per rule with rule_id, obligation_name, evaluation_result (applicable, not_applicable or insget_public_deadlines — Keyless; runs the production path under a sandbox bearer. The universal Norwegian filing calendar: the deadlines for every Norwegian business in the covered catexplain_compliance_error — Keyless. Resolve a structured Apier compliance error code into a Norwegian-bokmål Explanation envelope: summary, bokmål why, ordered fix_steps, optional documensearch_companies — Resolve a Norwegian company NAME to its 9-digit organisasjonsnummer. Use this as your FIRST call whenever you have a company's name but NOT its org_number — eveget_company_verification — Fast go / no-go trust check on a Norwegian counterparty organisation. It keys ONLY off entity activity and visible signing authority. `verification_status` is `get_company_authority — The register's coded signing rules for this company, uninterpreted. Call get_company_verification first; this ignores bankruptcy and dissolution. The class (solget_company_accounts — A current snapshot of a Norwegian company's annual accounts (årsregnskap) from the OPEN Regnskapsregisteret tier: `has_filed_annual_accounts` (null = unknown, nget_company_evidence_pack — One signed JSON record of what Apier observed about a Norwegian company today: the check bundle, archived changes in the window (`changes_from`, at most 366 dayget_company_history — Company history from Apier's archive of Brønnøysund observations. Mode `as_of` with `date` returns the state Apier had observed at the end of that day: every trlist_changes — Read Apier's cross-source change archive — created / updated / deleted events detected across the upstreams Apier polls (Brønnøysund, Norges Bank, NAV, Skatteetget_altinn_migration_guidance — Discover the Altinn 3 equivalent of an Altinn 2 service or role code. The 19 June 2026 Altinn 2 deprecation deadline has passed, so this serves remediation for get_pricing — Call this BEFORE metered work to check per-call cost and whether billing enforcement is live. Keyless (runs the production path under a sandbox bearer): executeget_credit_balance — Call this BEFORE a batch of metered calls to confirm the calling key's prepaid credit balance covers it, and AFTER a 402 INSUFFICIENT_CREDITS + human top-up to redeem_issuance_token — Convert an owner-issued key-issuance token into your own API key — the headless onboarding step for an agent that holds no credential yet. Keyless: the one-timeCall the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_a40e72b223 # full record + verification history · 402 → 0.005 USDCRun it here — free preview loads instantly; the full record is 0.005 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-11-12
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- pulsemcp
- Last crawl
- 2026-11-12
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_a40e72b223)<a href="https://jishie.com/agent.html?id=aix_a40e72b223"><img src="https://jishie.com/v1/agents/aix_a40e72b223/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — calendar-sync
| Agent | Track record | Price |
|---|---|---|
| vietnamese-calendar T2 | relevance 73 | — |
| Fryd - Your Garden Companion T2 | relevance 69 | — |
| Jeremy Twogood — Portfolio T2 | relevance 67 | — |
| Unquant T2 | relevance 67 | — |
| Antevo Executive Brief T2 | relevance 65 | — |
Raw machine record (what agents receive)
{
"id": "aix_a40e72b223",
"name": "Apier",
"operator": "(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com)",
"description": "Compliance API bridging AI agents to Norwegian government systems including Altinn, Maskinporten, and Brønnøysund.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-11-12",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"calendar-sync",
"invoice-parsing",
"translation-qa"
],
"protocols": {
"mcp": "https://www.apier.no/api/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 3203,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 41,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-11-12T02:01:08.667Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://www.pulsemcp.com/servers/apier"
},
{
"label": "listing",
"url": "https://www.apier.no/docs"
}
],
"profile": {
"mcp_server": "apier-no",
"mcp_version": "2026.10.1",
"tool_count": 20,
"tools": [
{
"name": "get_company_summary",
"description": "A one-shot summary of obligations and deadlines for a Norwegian organisation: your FIRST call when you orient against a company. One call gives you entity_type, nace_codes, mva_registered, data_tier, obligations[] and deadlines[] (tier_2 adds filing_status), all from one version of the rules. The sandbox answers from fixtures with a different shape (no rulebook_coverage). It is not the identity from the registry: use get_company_context instead; for a drill down call get_company_obligations; to set a horizon_months call get_company_deadlines. Failure modes: NOT_FOUND, ENTITY_REMOVED, UPSTREAM_"
},
{
"name": "get_public_obligations",
"description": "Keyless; runs the production path under a sandbox bearer. Retrieve the universal obligation set for a Norwegian entity type — every regulatory obligation that applies by virtue of BEING that organisational form, before per-company Tier-2 data is layered on. Use it for 'what does an AS owe?' or 'what are the baseline filings for an Enkeltpersonforetak?' without naming a company. Each obligation carries tier_2_required: true means the rule engine needs commercial data to decide for a SPECIFIC company, false means it applies unconditionally. Input: { entity_type } from the closed enum AS / ENK / "
},
{
"name": "get_exchange_rate",
"description": "Keyless; runs the production path under a sandbox bearer. Norges Bank reference exchange rate for a currency against NOK — the benchmark Norwegian tax and accounting rules accept for foreign-currency obligations. No Norwegian-company input. Input: { base, quote, date? } — ISO 4217 codes, NOK-anchored: exactly one side MUST be 'NOK'. The response is always base NOK and quote = the other currency, whatever order you sent; rate = NOK per 1 unit of quote; date = the day the rate is valid for (weekends and holidays fall back to the prior business day, so it can differ from requested_date). A pair w"
},
{
"name": "get_company_profile",
"description": "Resolve a Norwegian organisasjonsnummer (9 digits) into a structured company profile from Brønnøysund Enhetsregisteret: display name, form of organisation, NACE codes with descriptions, addresses, the dates of registration and dissolution, the `active` / `dissolved` status enum, the MVA-registered flag, and the role codes of persons in the public register (no names); never fødselsnummer or other national IDs. The backing REST route is POST /api/v1/brreg/company-profile. For deadlines and filing status, use get_company_summary; for the signaturrett / prokura role-code summary, use get_company_c"
},
{
"name": "get_company_context",
"description": "Brønnøysund identity slice for a Norwegian organisation: legal name, form of organisation, NACE codes, municipality, registration_date, and the signaturrett / prokura roles (names and role codes from the public register; never fødselsnummer or other national identifiers). Identity ONLY, no verdict on obligations; add get_company_obligations or get_company_deadlines for the regulatory layer. Failure modes: NOT_FOUND, ENTITY_REMOVED, UPSTREAM_UNAVAILABLE, VALIDATION_FAILED; a credential without `read:brreg` can't see the tool (tools/list leaves it out). For an obligations verdict, use get_compan"
},
{
"name": "get_company_deadlines",
"description": "The coming filing calendar for one company, horizon_months ahead. One entry per obligation and period: obligation_id (the rule_id of get_company_obligations), period_label, due_at, adjusted_for, original_due_at and filing_status. If rulebook_coverage is `covered`, an empty list means none fall due in the window; raise horizon_months (max 60). Sandbox: fixed dates far ahead, horizon_months ignored, no rulebook_coverage; real window: a production key (generic year: use get_public_deadlines). Failure modes: NOT_FOUND, ENTITY_REMOVED, UPSTREAM_UNAVAILABLE, VALIDATION_FAILED; a credential without `"
},
{
"name": "get_company_obligations",
"description": "Evaluate the Apier Rulebook for a Norwegian organisation: one entry per rule with rule_id, obligation_name, evaluation_result (applicable, not_applicable or insufficient_data), a reason, the legal_reference, frequency, data_tier_required and the bokmål description, which is inherited byte for byte (never re-translate it). Sandbox fixtures have no rulebook_coverage. Failure modes: NOT_FOUND, ENTITY_REMOVED, UPSTREAM_UNAVAILABLE, VALIDATION_FAILED; a credential without `read:brreg` can't see the tool. For the calendar alone, use get_company_deadlines instead; for the entity-type set that needs n"
},
{
"name": "get_public_deadlines",
"description": "Keyless; runs the production path under a sandbox bearer. The universal Norwegian filing calendar: the deadlines for every Norwegian business in the covered categories (MVA, A-melding, Skattemelding, Årsregnskap), which do not depend on any one organisation. One entry per obligation and period for a single Europe/Oslo calendar year: a per-period obligation_id (such as `mva-termin-4-2026`; the company tools use rule ids such as `MVA_FILING_BIMONTHLY` instead), period, deadline (Europe/Oslo), submission_window_closes, adjusted_from (the legal date before a shift, else null), legal_reference and "
},
{
"name": "explain_compliance_error",
"description": "Keyless. Resolve a structured Apier compliance error code into a Norwegian-bokmål Explanation envelope: summary, bokmål why, ordered fix_steps, optional documentation link + legal_basis, and an optional handover block (who / where / what / why) for errors a human must resolve (e.g. AUTH_INSUFFICIENT_ROLE, AUTH_NO_DELEGATION, SCOPE_MISSING) — agent-resolvable errors ship `handover: null`. Accepts any code from the closed EXPLAINER_ERROR_CODES catalogue. Optional flat context_org_number / context_scope / context_role / context_field / context_upstream_system strings carry placeholder values inte"
},
{
"name": "search_companies",
"description": "Resolve a Norwegian company NAME to its 9-digit organisasjonsnummer. Use this as your FIRST call whenever you have a company's name but NOT its org_number — every other company tool needs the number; guessing one risks the wrong company. Searches Brønnøysund's public Enhetsregisteret and returns up to ten candidates with five fields each (name, org_number, org_form, municipality, registry status). Then call get_company_summary or get_company_context with the chosen org_number. Input: { name } (2–100 chars, æ/ø/å supported). On NOT_FOUND, broaden the name and drop the legal form — never loop on"
},
{
"name": "get_company_verification",
"description": "Fast go / no-go trust check on a Norwegian counterparty organisation. It keys ONLY off entity activity and visible signing authority. `verification_status` is `pass` (active and signing authority visible), `fail` (not active: konkurs, avvikling or oppløst) or `unknown` (not determinable; never a claimed absence). `signing_authority_summary` lists roles, not the joint rule; for that use get_company_authority. Fails with NOT_FOUND, ENTITY_REMOVED, UPSTREAM_UNAVAILABLE or VALIDATION_FAILED; a credential without `read:brreg` can't see the tool (tools/list leaves it out). For identity, call get_com"
},
{
"name": "get_company_authority",
"description": "The register's coded signing rules for this company, uninterpreted. Call get_company_verification first; this ignores bankruptcy and dissolution. The class (sole, joint, by_role, prokura_only, no_authority, unknown) comes from Fullmakttjenesten and the role holders; `coded_authority` (absent in sandbox) adds coded clauses and stamps. Statutory authority only; it never answers yes or no on who may sign. Failure modes: NOT_FOUND, ENTITY_REMOVED, UPSTREAM_UNAVAILABLE, VALIDATION_FAILED; a credential without `read:brreg` can't see the tool. Altinn rights are not read (withdrawn); for roles use get"
},
{
"name": "get_company_accounts",
"description": "A current snapshot of a Norwegian company's annual accounts (årsregnskap) from the OPEN Regnskapsregisteret tier: `has_filed_annual_accounts` (null = unknown, never a fabricated false), `last_accounts_year` and that year's minimal `key_figures` (currency always surfaced, presentation basis, totals). No multi-year history. `null` comes only when the register answers 404 or 410 (200 with `null`, not a 404); an outage answers 503 UPSTREAM_UNAVAILABLE. Failure modes: VALIDATION_FAILED, UPSTREAM_UNAVAILABLE; a credential without `read:brreg` can't see the tool. For a go/no-go verdict, use get_compa"
},
{
"name": "get_company_evidence_pack",
"description": "One signed JSON record of what Apier observed about a Norwegian company today: the check bundle, archived changes in the window (`changes_from`, at most 366 days back), your receipts, each archived record's daily anchor proof when available (else pending or proof_unavailable), coverage window and source licences. A record of observation, not a verdict, no admissibility claim. The user can save the `result` object as a .json file and open it at https://www.apier.no/evidence-pack/viewer to verify it. Errors: VALIDATION_FAILED, NOT_FOUND, ENTITY_REMOVED; a credential without `read:brreg` can't se"
},
{
"name": "get_company_history",
"description": "Company history from Apier's archive of Brønnøysund observations. Mode `as_of` with `date` returns the state Apier had observed at the end of that day: every tracked field with its status, source and licence. Mode `history` with `from` and `to` (at most 366 days) returns up to 1,000 changes observed in the window, or with `view` `diff` one field-by-field comparison. The archive starts 2026-07-30 and nothing earlier is back-filled; `coverage` says what is covered. A record of what the register showed, not what was in force, never a verdict. Errors: VALIDATION_FAILED, UPSTREAM_UNAVAILABLE; a cre"
},
{
"name": "list_changes",
"description": "Read Apier's cross-source change archive — created / updated / deleted events detected across the upstreams Apier polls (Brønnøysund, Norges Bank, NAV, Skatteetaten Tier-2; the Digdir and Altinn schema pollers are retired, so `digdir` and `altinn` are valid but empty filters). Filter by { source, entity_type, entity_id, change_type } and a { from }–{ to } detected_at range. Queries WITHOUT entity_id withhold personal-field rows by design (`personal_fields_withheld: true`); the org-scoped form returns everything. Keyset-paginated newest-first: pass { limit } (1–500, default 50) and carry `next_"
},
{
"name": "get_altinn_migration_guidance",
"description": "Discover the Altinn 3 equivalent of an Altinn 2 service or role code. The 19 June 2026 Altinn 2 deprecation deadline has passed, so this serves remediation for integrations still on Altinn 2. Pass { altinn2_code } (alphanumeric, 1–10 chars, e.g. A0208) for one mapping, or omit it for the whole map. Every response carries the deprecation status computed in Europe/Oslo (deprecation_deadline, days_remaining, deadline_passed). Each entry ships a `verified` flag: gate any production migration on `verified === true`; unverified entries are hints. Deterministic static map (Digdir-sourced); no governm"
},
{
"name": "get_pricing",
"description": "Call this BEFORE metered work to check per-call cost and whether billing enforcement is live. Keyless (runs the production path under a sandbox bearer): executes WITHOUT an API key, so an agent can price a workflow before it holds any credential. Returns the machine-readable price list: every credit-metered REST endpoint with its MCP tool name and cost in whole øre (always an integer), the enforcement.live flag (while false nothing is debited and a 402 is impossible), the 402 INSUFFICIENT_CREDITS recovery-contract field list, the top-up bounds with top_up_url, and the how_to_pay_guide URL. Pri"
},
{
"name": "get_credit_balance",
"description": "Call this BEFORE a batch of metered calls to confirm the calling key's prepaid credit balance covers it, and AFTER a 402 INSUFFICIENT_CREDITS + human top-up to verify the funds landed. The balance is ALWAYS the authenticated key's own — no parameters, so reading another key's balance is structurally impossible. Returns api_key_id, balance_ore (whole øre, always an integer), currency (NOK), updated_at (null = never topped up = balance 0), and top_up_url (hand it to a human). Affordability: cost_ore from get_pricing times planned calls versus balance_ore. Free, zero side effects. Failure modes: "
},
{
"name": "redeem_issuance_token",
"description": "Convert an owner-issued key-issuance token into your own API key — the headless onboarding step for an agent that holds no credential yet. Keyless: the one-time token IS the credential. Minting and revocation are dashboard-only, so an agent can never self-issue authority. Redemption is strictly SINGLE-USE and atomic: on success (201) the token is consumed and the result carries {id, name, scopes, created_at, plaintext_key} — returned EXACTLY ONCE; store it immediately. Failure modes: an expired / used / revoked / unknown token yields ONE uniform ISSUANCE_TOKEN_INVALID failure (ask the owner fo"
}
],
"profiled_at": "2026-11-12T02:01:08.667Z"
},
"unreachable": false,
"payment_method": "open"
}