Jentic OSThe workplace. An in-house AI platform for every employeeJentic OneSafe access. Agents reach your systems without holding keysJentic AIRThe foundation. Gets your existing platforms ready for AI
Pricing

GET STARTED

API DirectoryBrowse 10,000+ APIs ready for AI agent integrationDocumentationGuides and API reference

TOOLS

API ScoringCheck your AI readiness using our scorecardArazzo UIVisualize Arazzo workflows as interactive documentationArazzo EditorBuild and edit multi-step API workflows visually

COMMUNITY

GitHubOpen source projects and examplesOpen StandardsBuilt on open specs. Never locked in.
All ResourcesEverything in one placeBlogLatest articles and insightsTech Talk NewsletterAPIs, AI agents, architecture and strategyWebinarsLive sessions and on-demand recordingsReports & WhitepapersOriginal research on enterprise AI
About UsOur mission and teamCareersJoin our teamContactGet in touch
Try it now
Jentic OSJentic OneJentic AIR
Pricing
API DirectoryDocumentationAPI ScoringArazzo UIArazzo EditorGitHubOpen Standards
All ResourcesBlogTech Talk NewsletterWebinarsReports & Whitepapers
About UsCareersContact
Try it now
JenticJentic
Products
  • Jentic OS
  • Jentic One
  • Jentic AIR
For Developers
  • API Directory
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
  • Trust Centre
ISO/IEC 27001:2022 certification badge issued by Prescient SecurityISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

AICPA SOC for Service Organizations logoAICPA SOC for Service Organizations logo

SOC 2® Type 1 report

Audited by Prescient Assurance

Terms & Conditions•Privacy Policy•
© 2026 Jentic Technology Ltd. All rights reserved.
2 Grattan Court East, Dublin, D02 VX86, Ireland
Switch to light modeSwitch to dark mode
APIs / Identity Auth / FIAM-KPN
FIAM-KPN logo

Kpn FIAM-KPN

47
AI ReadinessFoundational (D)47/100
See full scorecard
Community OpenAPI document · agent-readyIdentity AuthAuthorizationbearer16 EndpointsREST

Know of an official OpenAPI document? Contribute it →

For Agents

Ask FIAM-KPN whether a subject may perform actions on a resource, validate a data-sharing contract, and look up registered parties and data spaces. Service providers can also create and maintain the access contracts behind those decisions.

Use for: Check whether this subject is allowed to read the shipment API resource, Validate that a data consumer has a contract to access this resource, Search for registered parties with a given EORI number, List all contracts my organisation holds as a service consumer

Not supported: Does not handle end-user login, user directory management, or storage of the shared data itself. Use for data-space authorization decisions, contract checks, and party registry lookups only.

The FIAM-KPN API evaluates access requests for data-space participants and returns a permit, deny, or notApplicable decision with the policies that matched. It also validates data-sharing contracts between a data owner and a consumer, searches the party registry by name, EORI, role, or data space, and lets service providers create, update, and delete the contracts that govern access to their resources. Clients obtain a JWT bearer token from the token endpoint with a signed client assertion before calling the protected operations.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the FIAM-KPN to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the FIAM-KPN, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.

Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.

1

Step 1: Jentic One Host machine

# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkpn.com%2Fkpn" | sh
2

Step 2: Agent machine

# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkpn.com%2Fkpn" | sh
jentic register       # connects your agent to your Jentic One instance

Jentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.

Capabilities

What an agent can do with FIAM-KPN API.

Request an authorization decision for a subject, resources, actions, and resource_type and receive permit, deny, or notApplicable with the matched policies

Validate whether a data consumer's token grants a given action on a data owner's resource through an existing contract

Search the party registry by name, eori, role, dataSpaceID, or certified_only and page through the results

Create, update, and delete service-provider contracts that set the data_owner, service_consumer, resource, action, and validity dates

List the contracts a service consumer holds and read any single contract by its id

List the data spaces registered in the trust framework with their countries of operation

Use Cases

Patterns agents use FIAM-KPN API for, with concrete tasks.

★ Policy Decision Point for an Agent Gateway

Before an agent forwards a request to a protected data service, it asks FIAM-KPN for an authorization decision. The enforce operation takes the subject, the resources and actions requested, and the resource_type, and returns a decision of permit, deny, or notApplicable together with a decisionId, the matched policies, and an optional explanation, so the gateway can allow or block the call and log why.

Call POST /api/v1/authorization/enforce with subject 'did:example:consumer-42', resources ['shipments'], actions ['read'], and resource_type 'API', then allow the downstream call only if the decision is 'permit'

Contract-Based Data Sharing Checks

Data owners share resources with consumers under explicit contracts. A service provider creates a contract naming the data_owner, service_consumer, resource, resource_type, action, and start and end dates, and later the contract validation operation confirms whether a consumer's data_consumer_token is allowed to perform an action on that resource, returning a simple allowed flag.

Create a contract with POST /api/v1/service-providers/contracts for a data_owner and service_consumer with start_date and end_date, then call POST /api/v1/contracts/validate with the consumer's data_consumer_token and confirm allowed is true

Party Registry Lookup

Onboarding and due-diligence flows need to confirm who a counterparty is. The party search accepts filters such as name, eori, role, certified_only, active_only, and dataSpaceID, so an agent can find a registered organisation, check its adherence status, and then read the full record with the party id.

Call GET /api/v1/parties with eori 'NL123456789' and active_only true, then GET /api/v1/parties/{party_id} for the first match to read its roles and adherence

AI Agent Access Governance via Jentic

An agent reaches FIAM-KPN through Jentic without wiring the client-assertion token exchange by hand. It searches by intent, receives the enforce or contract operation with its input schema, and runs it with the bearer token injected at execution time, so authorization checks become one step in a larger data-exchange workflow.

Search Jentic for 'check if a subject is authorized for a resource', load the enforce_authorization_post schema, and execute it with the subject, resources, actions, and resource_type

Key Endpoints

16 endpoints — the fiam-kpn api evaluates access requests for data-space participants and returns a permit, deny, or notapplicable decision with the policies that matched.

METHOD

PATH

DESCRIPTION

POST

/api/v1/authorization/enforce

Request an authorization decision

POST

/api/v1/contracts/validate

Validate contract access for a consumer

GET

/api/v1/parties

Search registered parties

GET

/api/v1/parties/{party_id}

Get a party

POST

/api/v1/service-providers/contracts

Create a contract

PUT

/api/v1/service-providers/contracts/{contract_id}

Update a contract

GET

/api/v1/dataspaces

List data spaces

POST

/api/v1/oauth/token

Obtain an access token

POST

/api/v1/authorization/enforce

Request an authorization decision

POST

/api/v1/contracts/validate

Validate contract access for a consumer

GET

/api/v1/parties

Search registered parties

GET

/api/v1/parties/{party_id}

Get a party

POST

/api/v1/service-providers/contracts

Create a contract

PUT

/api/v1/service-providers/contracts/{contract_id}

Update a contract

GET

/api/v1/dataspaces

List data spaces

POST

/api/v1/oauth/token

Obtain an access token

Jentic AI Readiness Score

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

F

FIAM-KPN

- Foundational (D)
47/100
74
Foundational Compliance
69
Developer Experience & Jentic Compatibility
63
AI-Readiness & Agent Experience
94
Agent Usability
75
Security
11
AI Discoverability
Powered by JenticScoring Framework 1.0.0 | Scoring Engine 0.4.2
Show dimension breakdown
74

Foundational Compliance

Base layer of spec validity and structural soundness.

Grade: A-Signals: 4
97%

Lint Results

Aggregated quality score from linter diagnostics, weighted by severity.

100%

Resolution Completeness

Percentage of `$ref` references that resolve successfully.

100%

Specification Validity

Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).

0%

Structural Integrity

Structural correctness score based on schema issues using logarithmic dampening.

69

Developer Experience & Jentic Compatibility

Clarity, completeness, and ingestion readiness for developers and tooling.

Grade: B+Signals: 4
0%

Example Density

How richly the API is illustrated with examples.

100%

Example Validity

Percentage of examples that conform to their schemas.

75%

Response Coverage

Percentage of operations with complete response definitions (success, client error, server error).

100%

Tooling Readiness

Health of API ingestion, bundling, and resolution within Jentic pipelines.

63

AI-Readiness & Agent Experience

Semantic breadth, depth, and agent comprehension for AI systems.

Grade: B-Signals: 4
50%

Description Coverage

Coverage of descriptions across API elements.

100%

Error Standardization

Coverage of RFC 9457 Problem Details for error responses.

100%

OperationId Quality

Coverage, uniqueness, and casing consistency of operationIds for AI inference.

0%

Summary Coverage

Coverage of summaries across operations/tags/info.

94

Agent Usability

Functional utility, complexity comfort, and AI orchestration readiness.

Grade: A+Signals: 1
94%

Complexity Comfort

Agent comfort level based on API operational and structural complexity.

75

Security

Trust, risk posture, and security compliance.

Grade: A-Signals: 1
75%

Authentication Strength

Average quality of security schemes based on authentication method strength (weakest link for OAuth2).

11

AI Discoverability

Findability, semantic richness, and reasoning readiness.

Grade: FSignals: 1
11%

Descriptive Richness

Clarity and depth of descriptions across API elements.

View full reportHow the score is calculatedMore about the dimensions

Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

Score your own APIScoring CLI agent skill
npx @jentic/api-scorecard-cli score <openapi-url>

Why Jentic?

What agents get from Jentic-routed access to this vendor.

Setup

Wiring FIAM-KPN by hand means signing a client_assertion JWT with your certificate, exchanging it at the token endpoint, and refreshing the bearer token before each protected call. Through Jentic you install once, import FIAM-KPN from the API Directory, store the credential once, and your agent calls it.

Permission scoping

FIAM-KPN puts the contract id in the URL path (/api/v1/service-providers/contracts/{contract_id}), so a rule can pin your agent to one contract and the operations you pick. You choose that set, so destructive ones like contract deletion or party creation are not included unless you add them.

Credential isolation

Your FIAM-KPN credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.

Intent-based discovery

Agents search Jentic by intent such as 'check if a subject is authorized' or 'search the party registry', and Jentic returns the matching FIAM-KPN operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Alternative

Ory API

→

Identity and permission platform with relationship-based permission checks

Choose Ory when the agent needs general application permission checks and user identity rather than data-space contracts and party registries

Complementary

Auth0 Authentication API

→

User login and token issuance for applications

Use Auth0 to authenticate end users, then ask FIAM-KPN whether the authenticated subject may access a data-space resource

Complementary

Okta API

→

Workforce directory, users, groups, and SSO

Use Okta when the agent needs to manage the people and groups behind a subject before FIAM-KPN evaluates its access

FAQs

Specific to using FIAM-KPN API through Jentic.

What authentication does the FIAM-KPN API use?

Per its OpenAPI spec, the FIAM-KPN API uses the bearer_auth scheme: a JWT bearer token in the Authorization header. You get the token from POST /api/v1/oauth/token by sending grant_type, scope, client_id, client_assertion_type, and a client_assertion JWT signed with your client certificate. Through Jentic the credential is stored encrypted by your own Jentic One instance and injected at execution time.

Can I get an authorization decision with the FIAM-KPN API?

Yes. Send subject, resources, actions, and resource_type to the enforce operation, as query parameters on GET or as a JSON body on POST, with optional attributes, issuer, service_provider, and license. The response carries a decision of permit, deny, or notApplicable, a decisionId, the matchedPolicies, an evaluationTimeMs value, and an optional explanation.

What are the rate limits for the FIAM-KPN API?

The OpenAPI spec does not specify rate limits. Check the published FIAM-KPN definition at https://app.swaggerhub.com/apis/kpn/FIAM-KPN/0.1.1 or ask KPN for the limits that apply to your client.

How do I check a consumer's contract access through Jentic with the FIAM-KPN API?

Search Jentic for 'validate a data sharing contract' and it returns the validate_contract_access operation with its input schema. Execute POST /api/v1/contracts/validate with data_owner, data_consumer_token, resource_type, resource_attribute, resource, and action, and read the allowed flag. To run it on your own infrastructure, install Jentic One from its GitHub repo.

Is there a FIAM-KPN MCP server?

You don't need an MCP server to give your agent the FIAM-KPN API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it. Operations are found by intent when needed, so no extra tool definitions sit in the agent's context.

Can I limit what my agent is allowed to do with the FIAM-KPN API?

Yes. A rule that allows only the enforce and contract-validation operations lets your agent ask for decisions and check contract access while it cannot create or delete contracts. If the agent should maintain one agreement, allow GET and PUT on that single contract id and nothing else. Every call goes through your own instance and is logged.

GET STARTED

Start building with FIAM-KPN API

Explore with Jentic One
View OpenAPI Document