{
    "openapi": "3.1.0",
    "info": {
        "title": "Bevisstudio API",
        "version": "1",
        "summary": "Utsted, verifiser og trekk tilbake digitale bevis (EUDI) for din organisasjon.",
        "description": "Alt går gjennom dette API-et, med ett token. Hent tokenet med klientlegitimasjon på `token_endpoint` fra `/.well-known/oauth-authorization-server`, og send det som `Authorization: Bearer`. Organisasjonen følger av klienten og er aldri en parameter.\n\nReisen: bevistype → utstedelsesregel → publiser → bestill (gir lenka til lommeboka). For å kontrollere: verifiseringsregel → start verifisering → les resultatet.\n\nFeil svarer med `application/problem+json` (RFC 7807). `type` slutter på feilkoden, og det er den du forgrener på.",
        "contact": {
            "name": "Kantega Bevisstudio",
            "url": "https://bevisstudio.no/utviklere"
        }
    },
    "servers": [
        {
            "url": "https://api.kantega.id",
            "description": "Produksjon",
            "x-internal": false
        }
    ],
    "paths": {
        "/.well-known/oauth-authorization-server": {
            "get": {
                "operationId": "getWellKnownOauthAuthorizationServer",
                "tags": [
                    ".well-known"
                ],
                "summary": "Adressene og tilgangene (RFC 8414)",
                "description": "Les `token_endpoint` herfra framfor å skrive adressen inn i koden.",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthorizationServerMetadataWire"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Token-endepunktet er ikke satt opp."
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/oauth/token": {
            "post": {
                "operationId": "postOauthToken",
                "tags": [
                    "oauth"
                ],
                "summary": "Hent et token",
                "description": "Klientlegitimasjon (RFC 6749 §4.4). `client_id` og `client_secret` sendes i `Authorization: Basic` eller i kroppen, ikke begge. Tokenet sendes som `Authorization: Bearer` på alle andre kall.\n\nUten `scope` får tokenet alle tilgangene klienten er registrert med (RFC 6749 §3.3 lar serveren velge). Be om bare dem du trenger. `scope` i svaret sier hva tokenet fikk.\n\nLevetiden står i `expires_in` og varierer med miljøet. Les den, og bruk samme token til det utløper.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/x-www-form-urlencoded": {
                            "schema": {
                                "$ref": "#/components/schemas/TokenRequest"
                            }
                        }
                    }
                },
                "security": [],
                "responses": {
                    "200": {
                        "description": "Tokenet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TokenResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Forespørselen er feil (RFC 6749 §5.2).",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TokenError"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "`invalid_client`: ukjent klient eller feil hemmelighet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TokenError"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/access-certificates": {
            "get": {
                "operationId": "accessCertificate.list",
                "tags": [
                    "access-certificates"
                ],
                "summary": "Verifiernes tilgangssertifikater",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AccessCertificateWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/access-certificates/{certificateId}/activate": {
            "parameters": [
                {
                    "name": "certificateId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.activate",
                "tags": [
                    "access-certificates"
                ],
                "summary": "Gjør et tilgangssertifikat aktivt",
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `access-certificate-not-found`.",
                        "x-problem-codes": [
                            "access-certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/access-certificates/{certificateId}/revoke": {
            "parameters": [
                {
                    "name": "certificateId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.revoke",
                "tags": [
                    "access-certificates"
                ],
                "summary": "Trekk tilbake et tilgangssertifikat",
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `access-certificate-not-found`.",
                        "x-problem-codes": [
                            "access-certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/auth-providers": {
            "get": {
                "operationId": "authProvider.list",
                "tags": [
                    "auth-providers"
                ],
                "summary": "Identitetsleverandørene",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AuthProviderWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "authProvider.create",
                "tags": [
                    "auth-providers"
                ],
                "summary": "Opprett en identitetsleverandør",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AuthProviderCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "auth-providers:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthProviderWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Uten kropp når klienten er avgrenset bort fra det kallet gjelder."
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/auth-providers/{authProviderId}": {
            "parameters": [
                {
                    "name": "authProviderId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "authProvider.delete",
                "tags": [
                    "auth-providers"
                ],
                "summary": "Slett en identitetsleverandør",
                "security": [
                    {
                        "eidas": [
                            "auth-providers:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `auth-provider-not-found`.",
                        "x-problem-codes": [
                            "auth-provider-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En regel bruker leverandøren. Kode: `auth-provider-in-use`.",
                        "x-problem-codes": [
                            "auth-provider-in-use"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "authProvider.read",
                "tags": [
                    "auth-providers"
                ],
                "summary": "Én identitetsleverandør",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthProviderWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `auth-provider-not-found`.",
                        "x-problem-codes": [
                            "auth-provider-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "authProvider.update",
                "tags": [
                    "auth-providers"
                ],
                "summary": "Endre en identitetsleverandør",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AuthProviderUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "auth-providers:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AuthProviderWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `auth-provider-not-found`.",
                        "x-problem-codes": [
                            "auth-provider-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/claim-sources": {
            "get": {
                "operationId": "claimSource.list",
                "tags": [
                    "claim-sources"
                ],
                "summary": "Opplysningskildene",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ClaimSourceWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "claimSource.create",
                "tags": [
                    "claim-sources"
                ],
                "summary": "Opprett en opplysningskilde",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ClaimSourceCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "claim-sources:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClaimSourceWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Uten kropp når klienten er avgrenset bort fra det kallet gjelder."
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/claim-sources/{claimSourceId}": {
            "parameters": [
                {
                    "name": "claimSourceId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "claimSource.delete",
                "tags": [
                    "claim-sources"
                ],
                "summary": "Slett en opplysningskilde",
                "security": [
                    {
                        "eidas": [
                            "claim-sources:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `claim-source-not-found`.",
                        "x-problem-codes": [
                            "claim-source-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En bevistype bruker kilden. Kode: `claim-source-in-use`.",
                        "x-problem-codes": [
                            "claim-source-in-use"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "claimSource.read",
                "tags": [
                    "claim-sources"
                ],
                "summary": "Én opplysningskilde",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClaimSourceWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `claim-source-not-found`.",
                        "x-problem-codes": [
                            "claim-source-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "claimSource.update",
                "tags": [
                    "claim-sources"
                ],
                "summary": "Endre en opplysningskilde",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ClaimSourceUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "claim-sources:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClaimSourceWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `claim-source-not-found`.",
                        "x-problem-codes": [
                            "claim-source-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credential-types": {
            "get": {
                "operationId": "credentialType.list",
                "tags": [
                    "credential-types"
                ],
                "summary": "Bevistypene",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/CredentialTypeWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "credentialType.create",
                "tags": [
                    "credential-types"
                ],
                "summary": "Opprett en bevistype",
                "description": "Beskriv feltene selv (`name` og `claims`), eller kopier en mal med `rulebook`. Send ikke `vct`: den avledes av organisasjonen og navnet, låses, og står i svaret på publiseringen.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CredentialTypeCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "credential-types:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialTypeWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "`claimSourceId` finnes ikke. Uten kropp når klienten er avgrenset bort fra det kallet gjelder. Kode: `claim-source-not-found`.",
                        "x-problem-codes": [
                            "claim-source-not-found"
                        ],
                        "x-body-optional": true,
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Kvoten er brukt opp, eller docType er i bruk. Kode: `quota-exceeded`, `mdoc-doctype-taken`.",
                        "x-problem-codes": [
                            "quota-exceeded",
                            "mdoc-doctype-taken"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credential-types/{credentialTypeId}": {
            "parameters": [
                {
                    "name": "credentialTypeId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "credentialType.delete",
                "tags": [
                    "credential-types"
                ],
                "summary": "Slett en bevistype",
                "security": [
                    {
                        "eidas": [
                            "credential-types:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-type-not-found`.",
                        "x-problem-codes": [
                            "credential-type-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "credentialType.read",
                "tags": [
                    "credential-types"
                ],
                "summary": "Én bevistype",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialTypeWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-type-not-found`.",
                        "x-problem-codes": [
                            "credential-type-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "credentialType.update",
                "tags": [
                    "credential-types"
                ],
                "summary": "Endre en bevistype",
                "description": "Utelatte felter beholdes. En endring etter publisering krever ny publisering av regelen.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CredentialTypeUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "credential-types:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialTypeWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "`claimSourceId` finnes ikke. Kode: `credential-type-not-found`, `claim-source-not-found`.",
                        "x-problem-codes": [
                            "credential-type-not-found",
                            "claim-source-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "vct kan ikke endres, eller docType er i bruk. Kode: `credential-type-vct-is-immutable`, `mdoc-doctype-taken`.",
                        "x-problem-codes": [
                            "credential-type-vct-is-immutable",
                            "mdoc-doctype-taken"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credential-types/{credentialTypeId}/logo": {
            "parameters": [
                {
                    "name": "credentialTypeId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "credentialType.logo.delete",
                "tags": [
                    "credential-types"
                ],
                "summary": "Fjern logoen",
                "security": [
                    {
                        "eidas": [
                            "credential-types:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-type-not-found`.",
                        "x-problem-codes": [
                            "credential-type-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "put": {
                "operationId": "credentialType.logo.upload",
                "tags": [
                    "credential-types"
                ],
                "summary": "Last opp logoen",
                "requestBody": {
                    "required": true,
                    "content": {
                        "image/png": {
                            "schema": {
                                "type": "string",
                                "contentMediaType": "image/png"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "credential-types:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "400": {
                        "description": "Ikke PNG, eller større enn 256 KiB. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-type-not-found`.",
                        "x-problem-codes": [
                            "credential-type-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Plattformen har ingen adresse lommebøkene kan hente logoen fra. Kode: `logo-address-not-configured`.",
                        "x-problem-codes": [
                            "logo-address-not-configured"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials": {
            "get": {
                "operationId": "credential.list",
                "tags": [
                    "credentials"
                ],
                "summary": "De utstedte bevisene",
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Markøren fra `Link` på forrige side, nøyaktig som den står.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Rader per side.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Én side, nyeste først.",
                        "headers": {
                            "Link": {
                                "description": "Neste side: `<…?cursor=…&limit=…>; rel=\"next\"`. Mangler på siste side.",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuedCredentialWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "`limit` er utenfor 1–200, eller markøren er endret eller fra en annen liste. Kode: `malformed-request`, `list-cursor-rejected`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "list-cursor-rejected",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/notifications": {
            "get": {
                "operationId": "credential.notifications",
                "tags": [
                    "credentials"
                ],
                "summary": "Lommebøkenes kvitteringer (OID4VCI §11)",
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Markøren fra `Link` på forrige side, nøyaktig som den står.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Rader per side.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Én side, nyeste først.",
                        "headers": {
                            "Link": {
                                "description": "Neste side: `<…?cursor=…&limit=…>; rel=\"next\"`. Mangler på siste side.",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/WalletNotificationWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "`limit` er utenfor 1–200, eller markøren er endret eller fra en annen liste. Kode: `malformed-request`, `list-cursor-rejected`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "list-cursor-rejected",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/notifications/summary": {
            "get": {
                "operationId": "credential.notificationSummary",
                "tags": [
                    "credentials"
                ],
                "summary": "Antall bevis lommebøkene meldte feil på",
                "description": "Kvitteringene med `CREDENTIAL_FAILURE` fra og med `since`, talt opp. Uten lommebokas fritekst.",
                "parameters": [
                    {
                        "name": "since",
                        "in": "query",
                        "required": false,
                        "description": "Tell fra og med dette tidspunktet, høyst 30 dager tilbake. Uten den: det siste døgnet.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialFailureSummaryWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "`since` er ikke et tidspunkt, eller ligger mer enn 30 dager tilbake. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/overview": {
            "get": {
                "operationId": "credential.overview",
                "tags": [
                    "credentials"
                ],
                "summary": "Oversikten: utstedt per vindu, døgn og måned, i omløp, per bevismal og de nyeste",
                "description": "Faste vinduer regnet fra `at`; døgnene er UTC-døgn. Det Hjem i kontrollflata viser.",
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialOverviewWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/search": {
            "post": {
                "operationId": "credential.search",
                "tags": [
                    "credentials"
                ],
                "summary": "Finn bevis på en opplysning",
                "description": "Virker bare på claims merket `revocationSearchable` i bevistypen.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CredentialSearchRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Treffene.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuedCredentialWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/statistics": {
            "get": {
                "operationId": "credential.statistics",
                "tags": [
                    "credentials"
                ],
                "summary": "Antall utstedt, tilbaketrukket og suspendert",
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialStatisticsWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/{credentialId}": {
            "parameters": [
                {
                    "name": "credentialId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "credential.read",
                "tags": [
                    "credentials"
                ],
                "summary": "Ett utstedt bevis",
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuedCredentialWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Utstederen har ikke beviset, eller det er ikke ditt. Kode: `issued-credential-not-found`.",
                        "x-problem-codes": [
                            "issued-credential-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/{credentialId}/reinstate": {
            "parameters": [
                {
                    "name": "credentialId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "credential.reinstate",
                "tags": [
                    "credentials"
                ],
                "summary": "Gjenopprett et suspendert bevis",
                "description": "Kroppen kan være `{}`. Et mdoc-bevis kan ikke endre livsløp.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReasonRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:suspend"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Beviset slik det er nå.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuedCredentialWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-not-found`.",
                        "x-problem-codes": [
                            "credential-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Beviset er et mdoc. Kode: `credential-not-revocable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "credential-not-revocable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/{credentialId}/revoke": {
            "parameters": [
                {
                    "name": "credentialId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "credential.revoke",
                "tags": [
                    "credentials"
                ],
                "summary": "Trekk tilbake et bevis",
                "description": "Kroppen kan være `{}`. Et mdoc-bevis kan ikke endre livsløp.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReasonRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:revoke"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Beviset slik det er nå.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuedCredentialWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-not-found`.",
                        "x-problem-codes": [
                            "credential-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Beviset er et mdoc. Kode: `credential-not-revocable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "credential-not-revocable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/credentials/{credentialId}/suspend": {
            "parameters": [
                {
                    "name": "credentialId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "credential.suspend",
                "tags": [
                    "credentials"
                ],
                "summary": "Suspender et bevis",
                "description": "Kroppen kan være `{}`. Et mdoc-bevis kan ikke endre livsløp.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReasonRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:suspend"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Beviset slik det er nå.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuedCredentialWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `credential-not-found`.",
                        "x-problem-codes": [
                            "credential-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Beviset er et mdoc. Kode: `credential-not-revocable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "credential-not-revocable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/events": {
            "get": {
                "operationId": "event.list",
                "tags": [
                    "events"
                ],
                "summary": "Hendelsesloggen",
                "parameters": [
                    {
                        "name": "objectType",
                        "in": "query",
                        "required": false,
                        "description": "Bare hendelser om denne typen objekt, f.eks. `CREDENTIAL`.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "CREDENTIAL_TYPE",
                                "CLAIM_SOURCE",
                                "AUTH_PROVIDER",
                                "ISSUANCE_RULE",
                                "CREDENTIAL",
                                "CERTIFICATE",
                                "MEMBER",
                                "INTEGRATION_CLIENT",
                                "PLATFORM_SETTING",
                                "DEPLOYMENT",
                                "ORGANIZATION"
                            ]
                        }
                    },
                    {
                        "name": "before",
                        "in": "query",
                        "required": false,
                        "description": "Bare hendelser før dette tidspunktet.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "beforeId",
                        "in": "query",
                        "required": false,
                        "description": "Id-en til den eldste hendelsen du alt har, sammen med `before` (dens `occurredAt`). Da kommer også hendelser med samme tidspunkt med på neste side; `before` alene kan hoppe over dem.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Høyst så mange hendelser.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EventPageWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-orders/{orderId}": {
            "parameters": [
                {
                    "name": "orderId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuanceOrder.read",
                "tags": [
                    "issuance-orders"
                ],
                "summary": "Status på en bestilling",
                "security": [
                    {
                        "eidas": [
                            "issued-credentials:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuanceOrderStatusWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-order-not-found`.",
                        "x-problem-codes": [
                            "issuance-order-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-orders/{orderId}/claims": {
            "parameters": [
                {
                    "name": "orderId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuanceOrder.deliverClaims",
                "tags": [
                    "issuance-orders"
                ],
                "summary": "Ettersend opplysninger",
                "description": "For en bevistype med `claimsArriveLater: true`.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuanceOrderClaimsRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuance-orders:place"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Mottatt.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClaimsDeliveryWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen har feil form, eller opplysningene passer ikke bevistypen; `claims` navngir feltene. Kode: `malformed-request`, `issuance-order-claims-unknown`, `issuance-order-claims-mistyped`, `issuance-order-claims-missing`, `issuance-order-format-unsupported`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuance-order-claims-unknown",
                            "issuance-order-claims-mistyped",
                            "issuance-order-claims-missing",
                            "issuance-order-format-unsupported",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-order-not-found`.",
                        "x-problem-codes": [
                            "issuance-order-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Utstederen har ikke et sertifikat den kan signere med; `detail` sier hva du må gjøre. Kode: `issuer-not-ready`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "issuer-not-ready",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-rules": {
            "get": {
                "operationId": "issuanceRule.list",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Utstedelsesreglene",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuanceRuleWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "issuanceRule.create",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Opprett en utstedelsesregel",
                "description": "Regelen sier hvilken utsteder som utsteder hvilken bevistype, og hvordan. Den må publiseres før den kan brukes.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuanceRuleCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuance-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuanceRuleWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "En id i kroppen finnes ikke. Kode: `issuer-not-found`, `credential-type-not-found`, `auth-provider-not-found`, `verifier-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "credential-type-not-found",
                            "auth-provider-not-found",
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Navnet er i bruk. Kode: `issuance-rule-name-conflict`.",
                        "x-problem-codes": [
                            "issuance-rule-name-conflict"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-rules/{issuanceRuleId}": {
            "parameters": [
                {
                    "name": "issuanceRuleId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "issuanceRule.delete",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Slett en utstedelsesregel",
                "description": "Har regelen gyldige bevis, kreves `leaveCredentialsValid=true`.",
                "parameters": [
                    {
                        "name": "leaveCredentialsValid",
                        "in": "query",
                        "required": false,
                        "description": "Slett selv om bevis utstedt med regelen fortsatt er gyldige.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "issuance-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Regelen har gyldige bevis; `liveCredentials` sier hvor mange. Kode: `issuance-rule-has-live-credentials`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "issuance-rule-has-live-credentials",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "issuanceRule.read",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Én utstedelsesregel",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuanceRuleWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "issuanceRule.update",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Endre en utstedelsesregel",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuanceRuleUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuance-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuanceRuleWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`.",
                        "x-problem-codes": [
                            "malformed-request"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "`authProviderId` eller `presentationVerifierId` finnes ikke. Kode: `issuance-rule-not-found`, `auth-provider-not-found`, `verifier-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found",
                            "auth-provider-not-found",
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Navnet er i bruk. Kode: `issuance-rule-name-conflict`.",
                        "x-problem-codes": [
                            "issuance-rule-name-conflict"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-rules/{issuanceRuleId}/deployment": {
            "parameters": [
                {
                    "name": "issuanceRuleId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "issuanceRule.withdraw",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Avpubliser regelen",
                "security": [
                    {
                        "eidas": [
                            "issuance-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller utstederen er ikke klargjort hos utstedertjenesten. Kode: `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "issuanceRule.deploymentRead",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Er regelen publisert, og er den oppdatert?",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "put": {
                "operationId": "issuanceRule.deploy",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Publiser regelen til utstederen",
                "description": "Påkrevd før første bestilling, og etter hver endring i bevistypen. Svaret bærer `vct`.",
                "security": [
                    {
                        "eidas": [
                            "issuance-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publisert.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DeploymentWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Utstederen har en annen publisering, vct ville endret seg, eller bevistypens logo kan ikke publiseres (`blockers` på lesingen sier det samme). Kode: `conflicting-deployment`, `deployment-changes-vct`, `issuer-not-provisioned`, `logo-address-not-configured`, `idempotency-in-progress`, `certificate-request-completion-in-progress`.",
                        "x-problem-codes": [
                            "conflicting-deployment",
                            "deployment-changes-vct",
                            "issuer-not-provisioned",
                            "logo-address-not-configured",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Et språk utenom `nb-NO` mangler navn (`display-names-missing`, `locales`), eller et claim med tekst mangler den på et av bevistypens språk (`claims`, også i det første svaret). Kode: `claim-texts-incomplete`, `display-names-missing`, `deployment-blocked`, `presentation-verifier-rejected`.",
                        "x-problem-codes": [
                            "claim-texts-incomplete",
                            "display-names-missing",
                            "deployment-blocked",
                            "presentation-verifier-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuance-rules/{issuanceRuleId}/issuance-orders": {
            "parameters": [
                {
                    "name": "issuanceRuleId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuanceOrder.create",
                "tags": [
                    "issuance-rules"
                ],
                "summary": "Bestill et bevis",
                "description": "Gjør `offerUri` til en QR-kode eller lenke for brukeren, som den er. To kall gir to bestillinger.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuanceOrderRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuance-orders:place"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Bestilt.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuanceOrderWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen har feil form, eller opplysningene passer ikke bevistypen; `claims` navngir feltene. Kode: `malformed-request`, `issuance-order-claims-unknown`, `issuance-order-claims-mistyped`, `issuance-order-claims-missing`, `issuance-order-format-unsupported`, `issuance-order-valid-until-rejected`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuance-order-claims-unknown",
                            "issuance-order-claims-mistyped",
                            "issuance-order-claims-missing",
                            "issuance-order-format-unsupported",
                            "issuance-order-valid-until-rejected",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuance-rule-not-found`.",
                        "x-problem-codes": [
                            "issuance-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Regelen er ikke publisert. Kode: `issuance-rule-not-deployed`, `issuer-not-ready`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "issuance-rule-not-deployed",
                            "issuer-not-ready",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuer-services": {
            "get": {
                "operationId": "issuerService.list",
                "tags": [
                    "issuer-services"
                ],
                "summary": "Utstedertjenestene en utsteder kan legges på",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuerServiceWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers": {
            "get": {
                "operationId": "issuer.list",
                "tags": [
                    "issuers"
                ],
                "summary": "Utstederne",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuerWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "issuer.create",
                "tags": [
                    "issuers"
                ],
                "summary": "Opprett en utsteder",
                "description": "En ny organisasjon har alt en utsteder på den delte tjenesten. Denne trengs bare for en til.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuerCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuers:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Uten kropp når klienten er avgrenset bort fra det kallet gjelder."
                    },
                    "409": {
                        "description": "Adressen er tatt, eller kvoten er brukt opp. Kode: `issuer-slug-taken`, `quota-exceeded`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "issuer-slug-taken",
                            "quota-exceeded",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "issuer.delete",
                "tags": [
                    "issuers"
                ],
                "summary": "Slett utstederen",
                "description": "Har utstederen gyldige bevis, kreves `confirmRevokeActiveCredentials=true`; da trekkes de tilbake.",
                "parameters": [
                    {
                        "name": "confirmRevokeActiveCredentials",
                        "in": "query",
                        "required": false,
                        "description": "Trekk tilbake utstederens gyldige bevis og slett.",
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "issuers:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Utstederen har gyldige bevis; `activeCredentials` sier hvor mange. Kode: `active-credentials-require-confirmation`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "active-credentials-require-confirmation",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "issuer.read",
                "tags": [
                    "issuers"
                ],
                "summary": "Én utsteder",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "issuer.update",
                "tags": [
                    "issuers"
                ],
                "summary": "Gi utstederen et nytt navn",
                "description": "Navnet er også det lommeboka viser (`display[0].name` i utstederens metadata), fra neste oppslag og uten en ny publisering. Adressen endres aldri.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IssuerUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuers:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Adressen kan ikke endres. Kode: `issuer-slug-is-immutable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "issuer-slug-is-immutable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/access-certificates": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuerAccessCertificate.history",
                "tags": [
                    "issuers"
                ],
                "summary": "Utstederens tilgangssertifikater",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuerAccessCertificateWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `issuer-not-found`, `certificate-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/access-certificates/csr": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuerAccessCertificate.csrList",
                "tags": [
                    "issuers"
                ],
                "summary": "Ventende CSR-er for utstederens tilgangssertifikat",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuerAccessCertificateRequestWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "issuerAccessCertificate.requestCsr",
                "tags": [
                    "issuers"
                ],
                "summary": "Lag en CSR for utstederens tilgangssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateRequestRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerAccessCertificateRequestWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/access-certificates/csr/{requestId}/complete": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                },
                {
                    "name": "requestId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerAccessCertificate.csrComplete",
                "tags": [
                    "issuers"
                ],
                "summary": "Fullfør en CSR for utstederens tilgangssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateCompletionRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerAccessCertificateRegistrationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En fullføring av samme CSR pågår. Kode: `certificate-request-completion-in-progress`, `idempotency-in-progress`, `signing-key-unavailable`, `signing-key-source-unavailable`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "certificate-request-completion-in-progress",
                            "idempotency-in-progress",
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Sertifikatet består ikke profilkontrollen; `violations` lister bruddene. Kode: `access-certificate-rejected`.",
                        "x-problem-codes": [
                            "access-certificate-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuerCertificate.history",
                "tags": [
                    "issuers"
                ],
                "summary": "Utstederens signeringssertifikater",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/IssuerCertificateWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `issuer-not-found`, `certificate-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "issuerCertificate.register",
                "tags": [
                    "issuers"
                ],
                "summary": "Registrer et signeringssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateRegistrationRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `issuer-not-found`, `certificate-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/csr": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuerCertificate.csrList",
                "tags": [
                    "issuers"
                ],
                "summary": "Ventende CSR-er for signeringssertifikatet",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/SigningCertificateRequestWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "issuerCertificate.requestCsr",
                "tags": [
                    "issuers"
                ],
                "summary": "Lag en CSR for signeringssertifikatet",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SigningCertificateRequestRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SigningCertificateRequestWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, nøkkelkilden er ikke tilgjengelig for organisasjonen, eller `key: ACTIVE` uten en nøkkel Kantega laget å fornye. Kode: `certificate-key-not-renewable`, `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "certificate-key-not-renewable",
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/csr/{requestId}/complete": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                },
                {
                    "name": "requestId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.csrComplete",
                "tags": [
                    "issuers"
                ],
                "summary": "Fullfør en CSR med sertifikatet fra CA-en",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateCompletionRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En fullføring av samme CSR pågår, eller nøkkelen bak CSR-en har fått et sertifikat trukket tilbake. Kode: `certificate-request-completion-in-progress`, `idempotency-in-progress`, `certificate-key-revoked`, `signing-key-unavailable`, `signing-key-source-unavailable`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "certificate-request-completion-in-progress",
                            "idempotency-in-progress",
                            "certificate-key-revoked",
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/import": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.import",
                "tags": [
                    "issuers"
                ],
                "summary": "Importer nøkkel og sertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/KeyImportRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/platform-default": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.platformDefault",
                "tags": [
                    "issuers"
                ],
                "summary": "Bruk Kantegas sandkassesertifikat",
                "description": "For utprøving i DigDirs sandkasse. Gjør dette før første utstedelse. Kan kjøres flere ganger.",
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/revoke-active": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.revokeActive",
                "tags": [
                    "issuers"
                ],
                "summary": "Trekk tilbake det aktive signeringssertifikatet",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReasonRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ActiveCertificateRevocationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller utstederen er ikke klargjort hos utstedertjenesten. Kode: `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/rotate": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.rotate",
                "tags": [
                    "issuers"
                ],
                "summary": "Roter signeringssertifikatet",
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/trust": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuerCertificate.trust",
                "tags": [
                    "issuers"
                ],
                "summary": "Ender det aktive sertifikatet i et tillitsanker?",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CertificateTrustWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`, `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable",
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/upload": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.upload",
                "tags": [
                    "issuers"
                ],
                "summary": "Last opp et signeringssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateRegistrationRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/IssuerCertificateWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `issuer-not-found`, `certificate-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/certificates/{certificateId}/revoke": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                },
                {
                    "name": "certificateId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "issuerCertificate.revoke",
                "tags": [
                    "issuers"
                ],
                "summary": "Trekk tilbake et signeringssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReasonRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "issuer-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CertificateRevocationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `issuer-not-found`, `certificate-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found",
                            "certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller utstederen er ikke klargjort hos utstedertjenesten. Kode: `idempotency-in-progress`, `certificate-request-completion-in-progress`, `issuer-not-provisioned`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "certificate-request-completion-in-progress",
                            "issuer-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/issuers/{issuerId}/credential-tally": {
            "parameters": [
                {
                    "name": "issuerId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "issuer.credentialTally",
                "tags": [
                    "issuers"
                ],
                "summary": "Hvor mange bevis utstederen har utstedt",
                "security": [
                    {
                        "eidas": [
                            "issuance-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CredentialTallyWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Utstedertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `issuer-service-rejected`.",
                        "x-problem-codes": [
                            "issuer-service-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `issuer-not-found`.",
                        "x-problem-codes": [
                            "issuer-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Utstedertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `issuer-service-unavailable`.",
                        "x-problem-codes": [
                            "issuer-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/me": {
            "get": {
                "operationId": "getV1Me",
                "tags": [
                    "me"
                ],
                "summary": "Hvem kalleren er, og tilgangene tokenet har",
                "security": [
                    {
                        "eidas": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MeWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/organization": {
            "get": {
                "operationId": "organization.read",
                "tags": [
                    "organization"
                ],
                "summary": "Organisasjonen",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/OrganizationWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `organization-not-found`.",
                        "x-problem-codes": [
                            "organization-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/organization/features": {
            "get": {
                "operationId": "organizationFeature.read",
                "tags": [
                    "organization"
                ],
                "summary": "Funksjonene som er slått på",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FeatureStateWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `organization-not-found`.",
                        "x-problem-codes": [
                            "organization-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/organization/signing-key-sources": {
            "get": {
                "operationId": "organization.keySources",
                "tags": [
                    "organization"
                ],
                "summary": "Hvor organisasjonens signeringsnøkler kommer fra",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SigningKeySourcesWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `organization-not-found`.",
                        "x-problem-codes": [
                            "organization-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/organization/synthetic-context": {
            "get": {
                "operationId": "organization.syntheticContext",
                "tags": [
                    "organization"
                ],
                "summary": "Organisasjonens serverstyrte syntetiske klassifisering",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SyntheticContextWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `organization-not-found`.",
                        "x-problem-codes": [
                            "organization-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/product-updates": {
            "get": {
                "operationId": "productUpdate.list",
                "tags": [
                    "product-updates"
                ],
                "summary": "Nyhetene fra Kantega",
                "security": [
                    {
                        "eidas": [
                            "organization-overview:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/ProductUpdateWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verification-rules": {
            "get": {
                "operationId": "verificationRule.list",
                "tags": [
                    "verification-rules"
                ],
                "summary": "Verifiseringsreglene",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VerificationRuleWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "verificationRule.create",
                "tags": [
                    "verification-rules"
                ],
                "summary": "Opprett en verifiseringsregel",
                "description": "Regelen sier hva du spør lommeboka om. Be om `vct` fra publiseringen.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerificationRuleCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verification-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerificationRuleWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "`verifierId` finnes ikke. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verification-rules/{verificationRuleId}": {
            "parameters": [
                {
                    "name": "verificationRuleId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "verificationRule.delete",
                "tags": [
                    "verification-rules"
                ],
                "summary": "Slett en verifiseringsregel",
                "description": "Verifiseringene som er startet med regelen, og resultatene deres, slettes sammen med den — også en verifisering som pågår.",
                "security": [
                    {
                        "eidas": [
                            "verification-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-rule-not-found`.",
                        "x-problem-codes": [
                            "verification-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "verificationRule.read",
                "tags": [
                    "verification-rules"
                ],
                "summary": "Én verifiseringsregel",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerificationRuleWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-rule-not-found`.",
                        "x-problem-codes": [
                            "verification-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "verificationRule.update",
                "tags": [
                    "verification-rules"
                ],
                "summary": "Endre en verifiseringsregel",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerificationRuleUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verification-rules:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerificationRuleWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-rule-not-found`.",
                        "x-problem-codes": [
                            "verification-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verification-sessions": {
            "get": {
                "operationId": "verificationSession.list",
                "tags": [
                    "verification-sessions"
                ],
                "summary": "Verifiseringene",
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Markøren fra `Link` på forrige side, nøyaktig som den står.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Rader per side.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "verification-results:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Én side, nyeste først.",
                        "headers": {
                            "Link": {
                                "description": "Neste side: `<…?cursor=…&limit=…>; rel=\"next\"`. Mangler på siste side.",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VerificationSessionWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "`limit` er utenfor 1–200, eller markøren er endret eller fra en annen liste. Kode: `malformed-request`, `list-cursor-rejected`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "list-cursor-rejected",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "verificationSession.start",
                "tags": [
                    "verification-sessions"
                ],
                "summary": "Start en verifisering",
                "description": "Lenka til lommeboka er `openid4vp://?client_id=<clientId>&request_uri=<requestUri>`, begge URL-kodet.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerificationSessionRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verification-sessions:start"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Startet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StartedVerificationSessionWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-rule-not-found`.",
                        "x-problem-codes": [
                            "verification-rule-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Verifieren har ikke et aktivt tilgangssertifikat. Kode: `verifier-not-ready`, `idempotency-in-progress`, `verifier-not-provisioned`.",
                        "x-problem-codes": [
                            "verifier-not-ready",
                            "idempotency-in-progress",
                            "verifier-not-provisioned"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "`redirectUri` treffer ingen av verifierens `redirectUris` på skjema, vert og port. Kode: `redirect-uri-not-allowed`.",
                        "x-problem-codes": [
                            "redirect-uri-not-allowed"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verification-sessions/{verificationSessionId}": {
            "parameters": [
                {
                    "name": "verificationSessionId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "verificationSession.read",
                "tags": [
                    "verification-sessions"
                ],
                "summary": "Hvor langt en verifisering er kommet",
                "security": [
                    {
                        "eidas": [
                            "verification-results:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerificationSessionWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-session-not-found`.",
                        "x-problem-codes": [
                            "verification-session-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verification-sessions/{verificationSessionId}/result": {
            "parameters": [
                {
                    "name": "verificationSessionId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "verificationResult.read",
                "tags": [
                    "verification-sessions"
                ],
                "summary": "Resultatet av en verifisering",
                "description": "Svarer 404 til sesjonen er avgjort (`VERIFIED`, `REJECTED` eller `EXPIRED`). Ble verifiseringen startet med `redirectUri`, kan resultatet bare leses med `response_code` første gang; uten den, eller med feil kode, er svaret 403 `response-code-required`.",
                "parameters": [
                    {
                        "name": "response_code",
                        "in": "query",
                        "required": false,
                        "description": "Koden lommeboka ga brukeren tilbake med i samme-enhets-flyten (OID4VP 1.0 §8.2). Påkrevd første gang resultatet til en verifisering startet med `redirectUri` leses.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "verification-results:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerificationResultWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "description": "Verifiseringen ble startet med `redirectUri`, og `response_code` manglet eller var feil. Kode: `permission-required`, `response-code-required`.",
                        "x-problem-codes": [
                            "permission-required",
                            "response-code-required"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verification-session-not-found`.",
                        "x-problem-codes": [
                            "verification-session-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifier-services": {
            "get": {
                "operationId": "verifierService.list",
                "tags": [
                    "verifier-services"
                ],
                "summary": "Verifiertjenestene en verifier kan legges på",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VerifierServiceWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers": {
            "get": {
                "operationId": "verifier.list",
                "tags": [
                    "verifiers"
                ],
                "summary": "Verifierne",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VerifierWire"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "verifier.create",
                "tags": [
                    "verifiers"
                ],
                "summary": "Opprett en verifier",
                "description": "En ny organisasjon har alt en verifier på den delte tjenesten. Denne trengs bare for en til.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifierCreateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifiers:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerifierWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Uten kropp når klienten er avgrenset bort fra det kallet gjelder."
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "delete": {
                "operationId": "verifier.delete",
                "tags": [
                    "verifiers"
                ],
                "summary": "Slett verifieren",
                "security": [
                    {
                        "eidas": [
                            "verifiers:manage"
                        ]
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Utført. Ingen kropp."
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "get": {
                "operationId": "verifier.read",
                "tags": [
                    "verifiers"
                ],
                "summary": "Én verifier",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerifierWire"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "patch": {
                "operationId": "verifier.update",
                "tags": [
                    "verifiers"
                ],
                "summary": "Endre verifierens navn eller tillatte adresser",
                "description": "Bare feltene i kroppen endres; minst ett må stå der. `redirectUris` erstatter hele lista, og svaret viser den slik verifiertjenesten lagret den (uten dubletter).",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/VerifierUpdateRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifiers:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerifierWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `redirect-uri-invalid`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "redirect-uri-invalid",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En lik skriving pågår, eller verifieren er ikke klargjort hos verifiertjenesten. Kode: `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}/access-certificates": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.register",
                "tags": [
                    "verifiers"
                ],
                "summary": "Registrer et tilgangssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AccessCertificateRegistrationRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateRegistrationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `verifier-not-found`, `access-certificate-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found",
                            "access-certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Sertifikatet består ikke profilkontrollen; `violations` lister bruddene. Kode: `access-certificate-rejected`.",
                        "x-problem-codes": [
                            "access-certificate-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}/access-certificates/csr": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "get": {
                "operationId": "accessCertificate.csrList",
                "tags": [
                    "verifiers"
                ],
                "summary": "Ventende CSR-er for tilgangssertifikatet",
                "security": [
                    {
                        "eidas": [
                            "verification-setup:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/VerifierAccessCertificateRequestWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            },
            "post": {
                "operationId": "accessCertificate.requestCsr",
                "tags": [
                    "verifiers"
                ],
                "summary": "Lag en CSR for tilgangssertifikatet",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateRequestRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/VerifierAccessCertificateRequestWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}/access-certificates/csr/{requestId}/complete": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                },
                {
                    "name": "requestId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.csrComplete",
                "tags": [
                    "verifiers"
                ],
                "summary": "Fullfør en CSR for tilgangssertifikatet",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CertificateCompletionRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateRegistrationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "En fullføring av samme CSR pågår. Kode: `certificate-request-completion-in-progress`, `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "certificate-request-completion-in-progress",
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Sertifikatet består ikke profilkontrollen; `violations` lister bruddene. Kode: `access-certificate-rejected`.",
                        "x-problem-codes": [
                            "access-certificate-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}/access-certificates/import": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.import",
                "tags": [
                    "verifiers"
                ],
                "summary": "Importer nøkkel og tilgangssertifikat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/KeyImportRequest"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Opprettet.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateRegistrationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Sertifikatet finnes ikke. Kode: `verifier-not-found`, `access-certificate-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found",
                            "access-certificate-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Sertifikatet består ikke profilkontrollen; `violations` lister bruddene. Kode: `access-certificate-rejected`.",
                        "x-problem-codes": [
                            "access-certificate-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/verifiers/{verifierId}/access-certificates/platform-default": {
            "parameters": [
                {
                    "name": "verifierId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ],
            "post": {
                "operationId": "accessCertificate.platformDefault",
                "tags": [
                    "verifiers"
                ],
                "summary": "Bruk Kantegas sandkassesertifikat",
                "description": "For utprøving i DigDirs sandkasse. Gjør dette før første verifisering. Kan kjøres flere ganger.",
                "security": [
                    {
                        "eidas": [
                            "verifier-access-certificates:manage"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Tatt i bruk.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccessCertificateRegistrationWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Verifiertjenesten avviste forespørselen; `detail` sier hvorfor. Kode: `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "404": {
                        "description": "Finnes ikke, eller tilhører en annen organisasjon. Kode: `verifier-not-found`.",
                        "x-problem-codes": [
                            "verifier-not-found"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Nøkkelen kan ikke brukes, eller nøkkelkilden er ikke tilgjengelig for organisasjonen. Kode: `signing-key-unavailable`, `signing-key-source-unavailable`, `idempotency-in-progress`, `verifier-not-provisioned`, `verifier-not-ready`.",
                        "x-problem-codes": [
                            "signing-key-unavailable",
                            "signing-key-source-unavailable",
                            "idempotency-in-progress",
                            "verifier-not-provisioned",
                            "verifier-not-ready"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Organisasjonen kunne ikke registreres i signeringstjenesten. Kode: `signing-tenant-registration-failed`, `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "signing-tenant-registration-failed",
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "504": {
                        "description": "Skrivingen gikk ut på tid; utfallet er ukjent. Kode: `outcome-unknown`.",
                        "x-problem-codes": [
                            "outcome-unknown"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/webhook-deliveries": {
            "get": {
                "operationId": "webhookDelivery.list",
                "tags": [
                    "webhook-deliveries"
                ],
                "summary": "Webhook-leveransene",
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Markøren fra `Link` på forrige side, nøyaktig som den står.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Rader per side.",
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 1,
                            "maximum": 200,
                            "default": 50
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "verification-results:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Én side, nyeste først.",
                        "headers": {
                            "Link": {
                                "description": "Neste side: `<…?cursor=…&limit=…>; rel=\"next\"`. Mangler på siste side.",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/WebhookDeliveryWire"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "`limit` er utenfor 1–200, eller markøren er endret eller fra en annen liste. Kode: `malformed-request`, `list-cursor-rejected`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "list-cursor-rejected",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        },
        "/v1/webhook-deliveries/summary": {
            "get": {
                "operationId": "webhookDelivery.summary",
                "tags": [
                    "webhook-deliveries"
                ],
                "summary": "Webhook-leveransene som er gitt opp",
                "description": "En levering er gitt opp når den ikke ble levert og ingen ny runde kommer. Tallene gjelder vinduet fra `since` til nå; `recent` navngir adressene.",
                "parameters": [
                    {
                        "name": "since",
                        "in": "query",
                        "required": false,
                        "description": "Starten på vinduet. Uten den 24 timer tilbake; et vindu lenger enn 30 døgn kappes.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    }
                ],
                "security": [
                    {
                        "eidas": [
                            "verification-results:read"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/WebhookDeliverySummaryWire"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Kroppen eller en parameter har feil form. Kode: `malformed-request`, `verification-rule-rejected`.",
                        "x-problem-codes": [
                            "malformed-request",
                            "verification-rule-rejected"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/Unauthorized"
                    },
                    "403": {
                        "$ref": "#/components/responses/Forbidden"
                    },
                    "502": {
                        "description": "Verifiertjenesten svarte ikke, eller svarte noe vi ikke kunne bruke. Kode: `verifier-service-unavailable`.",
                        "x-problem-codes": [
                            "verifier-service-unavailable"
                        ],
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    },
                    "default": {
                        "$ref": "#/components/responses/Error"
                    }
                }
            }
        }
    },
    "tags": [
        {
            "name": ".well-known"
        },
        {
            "name": "access-certificates"
        },
        {
            "name": "auth-providers"
        },
        {
            "name": "claim-sources"
        },
        {
            "name": "credential-types"
        },
        {
            "name": "credentials"
        },
        {
            "name": "events"
        },
        {
            "name": "issuance-orders"
        },
        {
            "name": "issuance-rules"
        },
        {
            "name": "issuer-services"
        },
        {
            "name": "issuers"
        },
        {
            "name": "me"
        },
        {
            "name": "oauth"
        },
        {
            "name": "organization"
        },
        {
            "name": "product-updates"
        },
        {
            "name": "verification-rules"
        },
        {
            "name": "verification-sessions"
        },
        {
            "name": "verifier-services"
        },
        {
            "name": "verifiers"
        },
        {
            "name": "webhook-deliveries"
        }
    ],
    "components": {
        "securitySchemes": {
            "eidas": {
                "type": "oauth2",
                "description": "Klientlegitimasjon (RFC 6749 §4.4) med `client_id` og `client_secret`. Tokenet sendes som `Authorization: Bearer`. Det er en JWT etter RFC 9068 (`typ: at+jwt`) og RFC 8725. Behandle det som ugjennomsiktig, og hent et nytt når `expires_in` har gått ut.",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "https://api.kantega.id/oauth/token",
                        "scopes": {
                            "auth-providers:manage": "Forvalte identitetsleverandører.",
                            "claim-sources:manage": "Forvalte opplysningskilder.",
                            "credential-types:manage": "Forvalte bevistyper.",
                            "issuance-orders:place": "Bestille bevis.",
                            "issuance-rules:manage": "Forvalte og publisere utstedelsesregler.",
                            "issuance-setup:read": "Se utstedere, regler og sertifikater.",
                            "issued-credentials:read": "Se bestillinger og utstedte bevis.",
                            "issued-credentials:revoke": "Trekke tilbake bevis.",
                            "issued-credentials:suspend": "Suspendere og gjenopprette bevis.",
                            "issuer-certificates:manage": "Forvalte utstederens sertifikater.",
                            "issuers:manage": "Forvalte utstedere.",
                            "organization-overview:read": "Se organisasjonen.",
                            "verification-results:read": "Se verifiseringer, resultater og webhook-leveranser.",
                            "verification-rules:manage": "Forvalte verifiseringsregler.",
                            "verification-sessions:start": "Starte verifisering.",
                            "verification-setup:read": "Se verifiere, regler og tilgangssertifikater.",
                            "verifier-access-certificates:manage": "Forvalte verifierens tilgangssertifikat.",
                            "verifiers:manage": "Forvalte verifiere."
                        }
                    }
                }
            }
        },
        "responses": {
            "Unauthorized": {
                "description": "Tokenet mangler, er utløpt eller er ugyldig. Kode: `unauthenticated`.",
                "x-problem-codes": [
                    "unauthenticated"
                ],
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "Forbidden": {
                "description": "Tokenet mangler tilgangen; `scope` i kroppen navngir den. Kode: `permission-required`.",
                "x-problem-codes": [
                    "permission-required"
                ],
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            },
            "Error": {
                "description": "Feil på tjenestesiden (5xx), som RFC 7807-kropp.",
                "content": {
                    "application/problem+json": {
                        "schema": {
                            "$ref": "#/components/schemas/Problem"
                        }
                    }
                }
            }
        },
        "schemas": {
            "Problem": {
                "type": "object",
                "description": "RFC 7807. `type` slutter på feilkoden klienten forgrener på, f.eks. `https://problem.kantega.no/eidas/malformed-request`.",
                "properties": {
                    "type": {
                        "type": "string",
                        "format": "uri"
                    },
                    "title": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 100,
                        "maximum": 599
                    },
                    "detail": {
                        "type": "string"
                    },
                    "instance": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "title",
                    "status"
                ],
                "additionalProperties": {
                    "description": "Utvidelsesfelter som hører til koden, f.eks. `scope` eller `claims`."
                }
            },
            "ACCESS_STATE_INTEGRATION_CLIENT_ACCESS": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "INTEGRATION_CLIENT_ACCESS"
                    },
                    "allowedScopes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "restriction": {
                        "$ref": "#/components/schemas/RestrictionWire"
                    },
                    "endsAt": {
                        "format": "date-time",
                        "description": "Klientens sluttdato. `null` = ingen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "kind",
                    "allowedScopes",
                    "restriction",
                    "endsAt"
                ]
            },
            "ACCESS_STATE_MEMBER_ACCESS": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "MEMBER_ACCESS"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "ADMINISTRATOR",
                            "CONTRIBUTOR"
                        ]
                    }
                },
                "required": [
                    "kind",
                    "role"
                ]
            },
            "AccessCertificateRegistrationRequest": {
                "type": "object",
                "properties": {
                    "certificatePem": {
                        "type": "string"
                    },
                    "chainPem": {
                        "items": {
                            "type": "string"
                        },
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "keyRef": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "requestId": {
                        "description": "CSR-en sertifikatet svarer på.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "certificatePem"
                ]
            },
            "AccessCertificateRegistrationWire": {
                "type": "object",
                "properties": {
                    "certificate": {
                        "$ref": "#/components/schemas/AccessCertificateWire"
                    },
                    "selfSigned": {
                        "type": "boolean"
                    },
                    "advisories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RegistrationAdvisoryWire"
                        }
                    },
                    "profileAdvisories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CertificateFindingWire"
                        }
                    }
                },
                "required": [
                    "certificate",
                    "selfSigned",
                    "advisories",
                    "profileAdvisories"
                ]
            },
            "AccessCertificateSubjectWire": {
                "type": "object",
                "properties": {
                    "organizationName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "organizationIdentifier": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "commonName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "organizationName",
                    "organizationIdentifier",
                    "commonName",
                    "country"
                ]
            },
            "AccessCertificateWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "verifierId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "keyUsable": {
                        "type": "boolean"
                    },
                    "keyUnusableReason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "RETIRED",
                            "REVOKED"
                        ]
                    },
                    "fingerprint": {
                        "type": "string",
                        "description": "SHA-256 av sertifikatet, base64url uten utfylling."
                    },
                    "clientId": {
                        "type": "string",
                        "description": "OID4VP `client_id` lommeboka ser, `x509_hash:…`."
                    },
                    "subject": {
                        "$ref": "#/components/schemas/AccessCertificateSubjectWire"
                    },
                    "notBefore": {
                        "format": "date-time",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "notAfter": {
                        "format": "date-time",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "provenance": {
                        "type": "string",
                        "enum": [
                            "UPLOADED",
                            "PLATFORM_DEFAULT",
                            "REGISTERED"
                        ]
                    },
                    "chain": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "trustChain": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TrustChainLinkWire"
                        }
                    },
                    "profile": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CertificateProfileWire",
                                "description": "Profilkontrollen. Bare i lista."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "verifierId",
                    "keyRef",
                    "keyUsable",
                    "status",
                    "fingerprint",
                    "clientId",
                    "subject",
                    "notBefore",
                    "notAfter",
                    "provenance",
                    "chain",
                    "trustChain"
                ]
            },
            "AccessStateWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/ACCESS_STATE_INTEGRATION_CLIENT_ACCESS"
                    },
                    {
                        "$ref": "#/components/schemas/ACCESS_STATE_MEMBER_ACCESS"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "INTEGRATION_CLIENT_ACCESS": "#/components/schemas/ACCESS_STATE_INTEGRATION_CLIENT_ACCESS",
                        "MEMBER_ACCESS": "#/components/schemas/ACCESS_STATE_MEMBER_ACCESS"
                    }
                }
            },
            "ActiveCertificateRevocationWire": {
                "type": "object",
                "properties": {
                    "revoked": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "revoked"
                ]
            },
            "AuthProviderCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Navnet i kontrollflata."
                    },
                    "issuerUrl": {
                        "type": "string",
                        "description": "OpenID Connect-utstederen, https uten spørring."
                    },
                    "clientId": {
                        "type": "string"
                    },
                    "clientSecret": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "issuerUrl",
                    "clientId",
                    "clientSecret"
                ]
            },
            "AuthProviderUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "issuerUrl": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "clientId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "clientSecret": {
                        "description": "Utelatt beholder den lagrede hemmeligheten.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "AuthProviderWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "issuerUrl": {
                        "type": "string"
                    },
                    "clientId": {
                        "type": "string"
                    },
                    "hasClientSecret": {
                        "type": "boolean",
                        "description": "Flatene svarer bare AT en hemmelighet finnes, aldri hva den er."
                    }
                },
                "required": [
                    "id",
                    "name",
                    "issuerUrl",
                    "clientId",
                    "hasClientSecret"
                ]
            },
            "AuthorizationServerMetadataWire": {
                "type": "object",
                "properties": {
                    "issuer": {
                        "type": "string"
                    },
                    "token_endpoint": {
                        "type": "string"
                    },
                    "jwks_uri": {
                        "type": "string"
                    },
                    "scopes_supported": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "resources_supported": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "grant_types_supported": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "token_endpoint_auth_methods_supported": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "issuer",
                    "token_endpoint",
                    "jwks_uri",
                    "scopes_supported",
                    "resources_supported",
                    "grant_types_supported",
                    "token_endpoint_auth_methods_supported"
                ]
            },
            "CREDENTIAL_TYPE_ORIGIN_AUTHORED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "AUTHORED"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "CREDENTIAL_TYPE_ORIGIN_COPIED_FROM_RULEBOOK": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "COPIED_FROM_RULEBOOK"
                    },
                    "rulebookSource": {
                        "type": "string",
                        "enum": [
                            "DIGDIR",
                            "EU"
                        ]
                    },
                    "rulebookIdentifier": {
                        "type": "string"
                    },
                    "rulebookVersion": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "rulebookSource",
                    "rulebookIdentifier",
                    "rulebookVersion"
                ]
            },
            "CertificateCompletionRequest": {
                "type": "object",
                "properties": {
                    "certificatePem": {
                        "type": "string"
                    },
                    "chainPem": {
                        "items": {
                            "type": "string"
                        },
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "certificatePem"
                ]
            },
            "CertificateFindingWire": {
                "type": "object",
                "properties": {
                    "code": {
                        "type": "string",
                        "description": "Stabil kode, f.eks. `access-certificate-expired`."
                    },
                    "detail": {
                        "type": "string"
                    },
                    "source": {
                        "type": "string"
                    }
                },
                "required": [
                    "code",
                    "detail",
                    "source"
                ]
            },
            "CertificateHandoffWire": {
                "type": "object",
                "properties": {
                    "instructions": {
                        "type": "string"
                    },
                    "portalUrl": {
                        "format": "uri",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "instructions"
                ]
            },
            "CertificateProfileWire": {
                "type": "object",
                "properties": {
                    "checked": {
                        "type": "boolean",
                        "description": "`false` for sertifikater som ikke er aktive; listene er da tomme."
                    },
                    "violations": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CertificateFindingWire"
                        }
                    },
                    "advisories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CertificateFindingWire"
                        }
                    }
                },
                "required": [
                    "checked",
                    "violations",
                    "advisories"
                ]
            },
            "CertificateRegistrationRequest": {
                "type": "object",
                "properties": {
                    "certificatePem": {
                        "type": "string"
                    },
                    "chainPem": {
                        "items": {
                            "type": "string"
                        },
                        "description": "Kjeden som PEM, bladet først.",
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "keyRef": {
                        "description": "En nøkkel du alt har i signeringstjenesten.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "certificatePem"
                ]
            },
            "CertificateRequestRequest": {
                "type": "object",
                "properties": {
                    "subjectDn": {
                        "type": "string",
                        "description": "Subject, f.eks. `CN=Kantega AS, O=Kantega AS, C=NO`."
                    },
                    "subjectAlternativeNames": {
                        "items": {
                            "type": "string"
                        },
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "subjectDn"
                ]
            },
            "CertificateRevocationWire": {
                "type": "object",
                "properties": {
                    "certificateId": {
                        "type": "string"
                    },
                    "revoked": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "certificateId",
                    "revoked"
                ]
            },
            "CertificateTrustWire": {
                "type": "object",
                "properties": {
                    "verdict": {
                        "type": "string",
                        "enum": [
                            "ANCHORED",
                            "UNANCHORED",
                            "NOT_CONFIGURED"
                        ]
                    },
                    "anchor": {
                        "description": "Tillitsankeret kjeden endte i. Bare ved `ANCHORED`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "detail": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "verdict"
                ]
            },
            "CirculationWire": {
                "type": "object",
                "properties": {
                    "valid": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Gyldige som utløper om mer enn 30 døgn."
                    },
                    "expiringSoon": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Gyldige som utløper innen 30 døgn."
                    },
                    "revoked": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "suspended": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "required": [
                    "valid",
                    "expiringSoon",
                    "revoked",
                    "suspended"
                ]
            },
            "ClaimConstraintWire": {
                "type": "object",
                "properties": {
                    "credentialId": {
                        "type": "string",
                        "description": "DCQL-`id`-en til beviset i `query` kravet gjelder."
                    },
                    "path": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Claim-stien, bare nøkler (OID4VP 1.0 §7)."
                    },
                    "op": {
                        "type": "string",
                        "enum": [
                            "NOT_AFTER_NOW",
                            "NOT_BEFORE_NOW"
                        ]
                    }
                },
                "required": [
                    "credentialId",
                    "path",
                    "op"
                ]
            },
            "ClaimMappingRequest": {
                "type": "object",
                "properties": {
                    "sourceVct": {
                        "type": "string"
                    },
                    "sourceClaim": {
                        "type": "string"
                    },
                    "targetClaim": {
                        "type": "string"
                    },
                    "required": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    }
                },
                "required": [
                    "sourceVct",
                    "sourceClaim",
                    "targetClaim"
                ]
            },
            "ClaimMappingWire": {
                "type": "object",
                "properties": {
                    "sourceVct": {
                        "type": "string"
                    },
                    "sourceClaim": {
                        "type": "string"
                    },
                    "targetClaim": {
                        "type": "string"
                    },
                    "required": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "sourceVct",
                    "sourceClaim",
                    "targetClaim",
                    "required"
                ]
            },
            "ClaimRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Navnet i beviset, f.eks. `member_number`."
                    },
                    "dataType": {
                        "type": "string",
                        "enum": [
                            "STRING",
                            "NUMBER",
                            "BOOLEAN",
                            "DATE",
                            "IMAGE"
                        ]
                    },
                    "mandatory": {
                        "type": "boolean"
                    },
                    "selectivelyDisclosable": {
                        "description": "Utelatt = `true`.",
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "revocationSearchable": {
                        "description": "`true` gjør at beviset kan finnes igjen på denne verdien (`POST /v1/credentials/search`). Utelatt = `false`.",
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "displayName": {
                        "description": "Teksten lommeboka viser på `nb-NO`. Høyst 200 tegn. Uten `texts` endres bare `nb-NO`, og andre språk beholdes.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "texts": {
                        "items": {
                            "$ref": "#/components/schemas/ClaimTextRequest"
                        },
                        "description": "Tekstene per språk. Oppgitt erstatter de alle, og må være enig med `displayName` om `nb-NO`. Hvert claim med tekst må ha den på alle bevistypens språk før det kan publiseres.",
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "dataType"
                ]
            },
            "ClaimSourceCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string",
                        "description": "https-adresse, med høyst én `{plassholder}` i stien."
                    },
                    "parameters": {
                        "items": {
                            "type": "string"
                        },
                        "description": "Claims kilden svarer med.",
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "apiKey": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "url",
                    "apiKey"
                ]
            },
            "ClaimSourceUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "parameters": {
                        "items": {
                            "type": "string"
                        },
                        "description": "Erstatter lista.",
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "apiKey": {
                        "description": "Utelatt beholder den lagrede nøkkelen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "ClaimSourceWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "parameters": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "hasApiKey": {
                        "type": "boolean",
                        "description": "Flatene svarer bare AT en noekkel finnes, aldri hva den er."
                    }
                },
                "required": [
                    "id",
                    "name",
                    "url",
                    "parameters",
                    "hasApiKey"
                ]
            },
            "ClaimTextRequest": {
                "type": "object",
                "properties": {
                    "locale": {
                        "type": "string",
                        "description": "BCP 47-språktagg, f.eks. `nb-NO` eller `en`. Ett språk én gang."
                    },
                    "label": {
                        "type": "string",
                        "description": "Høyst 200 tegn."
                    },
                    "description": {
                        "description": "Vises bare i typemetadataene (SD-JWT VC); OID4VCI har ikke feltet. Høyst 500 tegn.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "locale",
                    "label"
                ]
            },
            "ClaimTextWire": {
                "type": "object",
                "properties": {
                    "locale": {
                        "type": "string"
                    },
                    "label": {
                        "type": "string"
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "locale",
                    "label",
                    "description"
                ]
            },
            "ClaimWire": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "dataType": {
                        "type": "string",
                        "enum": [
                            "STRING",
                            "NUMBER",
                            "BOOLEAN",
                            "DATE",
                            "IMAGE"
                        ]
                    },
                    "mandatory": {
                        "type": "boolean"
                    },
                    "selectivelyDisclosable": {
                        "type": "boolean"
                    },
                    "revocationSearchable": {
                        "type": "boolean"
                    },
                    "displayName": {
                        "description": "Opplysningen slik lommeboka viser den («Fødselsnummer», ikke `fodselsnummer`). Publiseres til utstederens metadata som `display[].name` (OID4VCI 1.0 §12.2.4). `null` = ingen tekst, og lommeboka viser navnet. Tom streng lagres som `null`; høyst 200 tegn.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "texts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimTextWire"
                        },
                        "description": "Tekstene per språk; `displayName` er `nb-NO`-etiketten, eller `null` uten den."
                    }
                },
                "required": [
                    "name",
                    "dataType",
                    "mandatory",
                    "selectivelyDisclosable",
                    "revocationSearchable"
                ]
            },
            "ClaimsDeliveryWire": {
                "type": "object",
                "properties": {
                    "delivered": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "outstandingRequired": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "delivered",
                    "outstandingRequired"
                ]
            },
            "CredentialFailureSummaryWire": {
                "type": "object",
                "properties": {
                    "failed": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Kvitteringer med `CREDENTIAL_FAILURE` fra og med `since`. Én per kvittering: en feilet batch er én."
                    },
                    "since": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Vinduets start. Uten `since` i forespørselen: for 24 timer siden."
                    },
                    "lastFailedAt": {
                        "format": "date-time",
                        "description": "Når den siste feilen kom, eller `null` når ingen feilet i vinduet.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "failed",
                    "since",
                    "lastFailedAt"
                ]
            },
            "CredentialOverviewWire": {
                "type": "object",
                "properties": {
                    "at": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Øyeblikket tallene er regnet fra."
                    },
                    "total": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Alle bevis, uansett livsløp og utløp."
                    },
                    "issued": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IssuedWindowWire"
                        }
                    },
                    "issuedByDay": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DayCountWire"
                        },
                        "description": "De siste 90 UTC-døgnene, eldste først."
                    },
                    "issuedByMonth": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MonthCountWire"
                        },
                        "description": "De siste 12 månedene, eldste først."
                    },
                    "circulation": {
                        "$ref": "#/components/schemas/CirculationWire"
                    },
                    "inUseByDay": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DayCountWire"
                        },
                        "description": "Gyldige bevis i bruk ved slutten av hvert av de siste 14 døgnene, eldste først."
                    },
                    "byTemplate": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TemplateCountWire"
                        }
                    },
                    "recent": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IssuedCredentialWire"
                        },
                        "description": "De 5 nyeste, nyeste først."
                    }
                },
                "required": [
                    "at",
                    "total",
                    "issued",
                    "issuedByDay",
                    "issuedByMonth",
                    "circulation",
                    "inUseByDay",
                    "byTemplate",
                    "recent"
                ]
            },
            "CredentialSearchRequest": {
                "type": "object",
                "properties": {
                    "claims": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "claim → verdi. Bare claims merket `revocationSearchable`; verdiene sendes som tekst."
                    }
                },
                "required": [
                    "claims"
                ]
            },
            "CredentialStatisticsWire": {
                "type": "object",
                "properties": {
                    "issued": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "revoked": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "suspended": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "required": [
                    "issued",
                    "revoked",
                    "suspended"
                ]
            },
            "CredentialTallyWire": {
                "type": "object",
                "properties": {
                    "total": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Bevis utstederen har utstedt, også tilbaketrukne."
                    },
                    "active": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Bevis en bekreftet sletting av utstederen trekker tilbake permanent."
                    },
                    "notRevocable": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Levende mdoc-bevis utstedt foer #95, uten statusreferanse. De kan ikke trekkes tilbake, og forblir gyldige til de utloeper ogsaa om utstederen slettes."
                    }
                },
                "required": [
                    "total",
                    "active",
                    "notRevocable"
                ]
            },
            "CredentialTypeCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "description": "Påkrevd, unntatt med `rulebook`, der malens navn brukes om det utelates.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vct": {
                        "description": "Bare sammen med `vctOverride: true`. Utelatt = vct avledes og låses.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vctOverride": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "claims": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimRequest"
                        },
                        "description": "Påkrevd, unntatt med `rulebook`, der malens claims brukes og feltet ikke kan oppgis."
                    },
                    "validFor": {
                        "description": "ISO-8601-periode, f.eks. `P1Y` (standard).",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "rulebook": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/RulebookReferenceRequest",
                                "description": "Kopier en mal fra en regelbok i stedet for å beskrive bevistypen selv."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "claimsArriveLater": {
                        "description": "Opplysninger kan ettersendes etter at bestillingen er lagt inn.",
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "claimSourceId": {
                        "format": "uuid",
                        "description": "Id-en til en kilde opplysningene hentes fra ved utstedelse.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "mdoc": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/MdocProfileRequest",
                                "description": "Utsted også som `mso_mdoc`."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": []
            },
            "CredentialTypeDesignRequest": {
                "type": "object",
                "properties": {
                    "displayName": {
                        "description": "Navnet på `nb-NO`. Uten `texts` endres bare `nb-NO`, og andre språk beholdes.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "description": "Beskrivelsen på `nb-NO`, som `displayName`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "backgroundColor": {
                        "description": "`#RRGGBB`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "texts": {
                        "items": {
                            "$ref": "#/components/schemas/DisplayTextRequest"
                        },
                        "description": "Tekstene per språk, høyst 10, med primærspråket først. Oppgitt erstatter de alle, og må være enig med `displayName` og `description` om `nb-NO`.",
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "textColor": {
                        "description": "`#RRGGBB`. Utelatt beholder den lagrede; `null` = en farge som er lesbar på bakgrunnen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "CredentialTypeDesignWire": {
                "type": "object",
                "properties": {
                    "displayName": {
                        "description": "Navnet på `nb-NO`, eller `null` når bevistypen ikke har det språket.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "description": "Beskrivelsen på `nb-NO`, som `displayName`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "backgroundColor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "logoPath": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "texts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/DisplayTextWire"
                        },
                        "description": "Tekstene per språk, med primærspråket først. Tom = norsk med bevistypens navn."
                    },
                    "textColor": {
                        "description": "`null` = utstederen regner ut en farge som er lesbar på bakgrunnen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "displayName",
                    "description",
                    "backgroundColor",
                    "logoPath",
                    "texts",
                    "textColor"
                ]
            },
            "CredentialTypeOriginWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/CREDENTIAL_TYPE_ORIGIN_AUTHORED"
                    },
                    {
                        "$ref": "#/components/schemas/CREDENTIAL_TYPE_ORIGIN_COPIED_FROM_RULEBOOK"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "AUTHORED": "#/components/schemas/CREDENTIAL_TYPE_ORIGIN_AUTHORED",
                        "COPIED_FROM_RULEBOOK": "#/components/schemas/CREDENTIAL_TYPE_ORIGIN_COPIED_FROM_RULEBOOK"
                    }
                }
            },
            "CredentialTypeUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vct": {
                        "description": "Kan ikke endres; bare samme verdi som den lagrede, sammen med `vctOverride: true`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vctOverride": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "claims": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimRequest"
                        },
                        "description": "Erstatter alle claims."
                    },
                    "validFor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "design": {
                        "$ref": "#/components/schemas/CredentialTypeDesignRequest",
                        "description": "Erstatter hele designet; et utelatt felt tømmes. Logoen, en utelatt `textColor` og språkene en snarvei uten `texts` ikke nevner, beholdes."
                    },
                    "claimsArriveLater": {
                        "type": [
                            "boolean",
                            "null"
                        ]
                    },
                    "claimSourceId": {
                        "format": "uuid",
                        "description": "`null` kobler fra kilden; utelatt beholder den.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "mdoc": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/MdocProfileRequest",
                                "description": "`null` fjerner mdoc; utelatt beholder det."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": []
            },
            "CredentialTypeWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "description": "Bevistypens ledd i den avledede vct-en. Immutabel — se ADR 0040."
                    },
                    "vct": {
                        "type": "string"
                    },
                    "vctLocked": {
                        "type": "boolean",
                        "description": "`true` naar vct-en er VAAR: avledet av organisasjonen og slugen, og servert av utstederen. Er den `false`, har kunden overstyrt den, og ingen kan hente typemetadata fra den."
                    },
                    "claims": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimWire"
                        }
                    },
                    "origin": {
                        "$ref": "#/components/schemas/CredentialTypeOriginWire"
                    },
                    "validFor": {
                        "type": "string",
                        "description": "Gyldighetstid fra utstedelse, som ISO-8601-periode fra `Period.toString()` (f.eks. `P1Y`)."
                    },
                    "design": {
                        "$ref": "#/components/schemas/CredentialTypeDesignWire"
                    },
                    "claimsArriveLater": {
                        "type": "boolean",
                        "description": "Claims kan ETTERSENDES av fagsystemet etter at tilbudet er laget — utstedelsen venter paa dem."
                    },
                    "claimSourceId": {
                        "format": "uuid",
                        "description": "Claims hentes fra denne kilden ved utstedelse. `null` betyr «grunnlaget baerer alt».",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "mdoc": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/MdocProfileWire",
                                "description": "docType og navnerom for `mso_mdoc` (#158). `null` betyr at bevistypen utstedes som `dc+sd-jwt` alene. Med verdien publiseres den i begge formatene."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "slug",
                    "vct",
                    "vctLocked",
                    "claims",
                    "origin",
                    "validFor",
                    "design",
                    "claimsArriveLater",
                    "claimSourceId",
                    "mdoc"
                ]
            },
            "DELIVERY_OUTCOME_DELIVERED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "DELIVERED"
                    },
                    "statusCode": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "required": [
                    "kind",
                    "statusCode"
                ]
            },
            "DELIVERY_OUTCOME_FAILED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "FAILED"
                    },
                    "reason": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "reason"
                ]
            },
            "DELIVERY_OUTCOME_REFUSED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "REFUSED"
                    },
                    "reason": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "reason"
                ]
            },
            "DEPLOYMENT_STANDING_NOT_DEPLOYED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "NOT_DEPLOYED"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "DEPLOYMENT_STANDING_OUTDATED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "OUTDATED"
                    },
                    "deployedFingerprint": {
                        "type": "string"
                    },
                    "currentFingerprint": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "deployedFingerprint",
                    "currentFingerprint"
                ]
            },
            "DEPLOYMENT_STANDING_UP_TO_DATE": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "UP_TO_DATE"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "DayCountWire": {
                "type": "object",
                "properties": {
                    "day": {
                        "type": "string",
                        "format": "date",
                        "description": "UTC-døgnet."
                    },
                    "count": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "required": [
                    "day",
                    "count"
                ]
            },
            "DeliveryOutcomeWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/DELIVERY_OUTCOME_DELIVERED"
                    },
                    {
                        "$ref": "#/components/schemas/DELIVERY_OUTCOME_FAILED"
                    },
                    {
                        "$ref": "#/components/schemas/DELIVERY_OUTCOME_REFUSED"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "DELIVERED": "#/components/schemas/DELIVERY_OUTCOME_DELIVERED",
                        "FAILED": "#/components/schemas/DELIVERY_OUTCOME_FAILED",
                        "REFUSED": "#/components/schemas/DELIVERY_OUTCOME_REFUSED"
                    }
                }
            },
            "DeployedWire": {
                "type": "object",
                "properties": {
                    "vct": {
                        "type": "string"
                    },
                    "fingerprint": {
                        "type": "string"
                    },
                    "deployedAt": {
                        "type": "string"
                    }
                },
                "required": [
                    "vct",
                    "fingerprint",
                    "deployedAt"
                ]
            },
            "DeploymentStandingWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/DEPLOYMENT_STANDING_NOT_DEPLOYED"
                    },
                    {
                        "$ref": "#/components/schemas/DEPLOYMENT_STANDING_OUTDATED"
                    },
                    {
                        "$ref": "#/components/schemas/DEPLOYMENT_STANDING_UP_TO_DATE"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "NOT_DEPLOYED": "#/components/schemas/DEPLOYMENT_STANDING_NOT_DEPLOYED",
                        "OUTDATED": "#/components/schemas/DEPLOYMENT_STANDING_OUTDATED",
                        "UP_TO_DATE": "#/components/schemas/DEPLOYMENT_STANDING_UP_TO_DATE"
                    }
                }
            },
            "DeploymentWire": {
                "type": "object",
                "properties": {
                    "deployed": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/DeployedWire"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "standing": {
                        "$ref": "#/components/schemas/DeploymentStandingWire"
                    },
                    "blockers": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "LOGO_ADDRESS_NOT_CONFIGURED",
                                "PRESENTATION_VERIFIER_NOT_CHOSEN",
                                "CLAIM_MAPPING_MISSING",
                                "CLAIM_MAPPING_TARGETS_UNKNOWN_CLAIMS"
                            ]
                        }
                    }
                },
                "required": [
                    "deployed",
                    "standing",
                    "blockers"
                ]
            },
            "DisplayTextRequest": {
                "type": "object",
                "properties": {
                    "locale": {
                        "type": "string",
                        "description": "BCP 47-språktagg, f.eks. `nb-NO` eller `en`. Ett språk én gang; det første er primærspråket."
                    },
                    "name": {
                        "description": "Utelatt = bevistypens navn. Høyst 200 tegn.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "description": "Utelatt = navnet. Høyst 500 tegn.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "logoAltText": {
                        "description": "Alt-teksten til logoen. Utelatt = navnet. Høyst 200 tegn.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "locale"
                ]
            },
            "DisplayTextWire": {
                "type": "object",
                "properties": {
                    "locale": {
                        "type": "string"
                    },
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "logoAltText": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "locale",
                    "name",
                    "description",
                    "logoAltText"
                ]
            },
            "EventPageWire": {
                "type": "object",
                "properties": {
                    "events": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EventWire"
                        },
                        "description": "Nyeste først."
                    },
                    "issuerEventsUnavailable": {
                        "type": "boolean",
                        "description": "`true` når utstederens hendelser ikke kunne hentes; lista har da bare bevisstudios egne."
                    }
                },
                "required": [
                    "events",
                    "issuerEventsUnavailable"
                ]
            },
            "EventWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "occurredAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "actorKind": {
                        "type": "string",
                        "description": "Hvem som gjorde det: `MEMBER`, `INTEGRATION_CLIENT`, `CONTROL_PLANE`, `PLATFORM_ADMIN`, `SERVICE` eller `WALLET_USER`."
                    },
                    "actorLabel": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "description": "Hendelsen, f.eks. `CREDENTIAL_TYPE_CREATED` eller `CREDENTIAL_REVOKED`."
                    },
                    "objectType": {
                        "type": "string",
                        "description": "Hva hendelsen gjelder, f.eks. `CREDENTIAL_TYPE` eller `CREDENTIAL`."
                    },
                    "objectId": {
                        "type": "string"
                    },
                    "objectName": {
                        "type": "string"
                    },
                    "detail": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "before": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/AccessStateWire",
                                "description": "Tilgangene før hendelsen. Bare når hendelsen endret en tilgang."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "after": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/AccessStateWire",
                                "description": "Tilgangene etter hendelsen. Bare når hendelsen endret en tilgang."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "occurredAt",
                    "actorKind",
                    "actorLabel",
                    "type",
                    "objectType",
                    "objectId",
                    "objectName"
                ]
            },
            "FeatureStateWire": {
                "type": "object",
                "properties": {
                    "feature": {
                        "type": "string",
                        "enum": [
                            "BETA_FEATURES"
                        ]
                    },
                    "enabled": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "feature",
                    "enabled"
                ]
            },
            "GaveUpWebhookDeliveryWire": {
                "type": "object",
                "properties": {
                    "verificationRuleId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "endpoint": {
                        "type": "string",
                        "format": "uri"
                    },
                    "lastAttemptAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "attempts": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Forsøkene som ble gjort før leveringen ble gitt opp."
                    }
                },
                "required": [
                    "verificationRuleId",
                    "endpoint",
                    "lastAttemptAt",
                    "attempts"
                ]
            },
            "IssuanceOrderClaimsRequest": {
                "type": "object",
                "properties": {
                    "claims": {
                        "type": "object",
                        "additionalProperties": {
                            "type": [
                                "string",
                                "number",
                                "boolean"
                            ]
                        },
                        "description": "Opplysningene som ettersendes, claim → verdi."
                    }
                },
                "required": [
                    "claims"
                ]
            },
            "IssuanceOrderRequest": {
                "type": "object",
                "properties": {
                    "format": {
                        "type": "string",
                        "enum": [
                            "dc+sd-jwt",
                            "mso_mdoc"
                        ]
                    },
                    "claims": {
                        "type": "object",
                        "additionalProperties": {
                            "type": [
                                "string",
                                "number",
                                "boolean"
                            ]
                        },
                        "description": "Opplysningene i beviset, claim → verdi, med typen bevistypen sier."
                    },
                    "txCode": {
                        "description": "4–8 sifre brukeren taster i lommeboka. Bare med `PRE_AUTHORIZED_CODE`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "validUntil": {
                        "description": "Siste dag beviset gjelder, til og med, i UTC, f.eks. `2027-03-31`. Godtar også `31.03.2027` og et tidspunkt (`2027-03-31T23:59:59Z`; midnatt i Oslo regnes som den norske datoen). Skråstrek avvises. Passert gir 400; etter bevistypens vanlige utløp settes den til dagen før. Utelatt: bevistypens gyldighet.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "format",
                    "claims"
                ]
            },
            "IssuanceOrderStatusWire": {
                "type": "object",
                "properties": {
                    "orderId": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "VALID",
                            "ISSUED",
                            "EXPIRED",
                            "FAILED"
                        ]
                    }
                },
                "required": [
                    "orderId",
                    "status"
                ]
            },
            "IssuanceOrderWire": {
                "type": "object",
                "properties": {
                    "orderId": {
                        "type": "string"
                    },
                    "offerUri": {
                        "type": "string"
                    },
                    "credentialName": {
                        "type": "string"
                    },
                    "credentialDescription": {
                        "type": "string"
                    },
                    "validUntil": {
                        "format": "date",
                        "description": "Siste dag beviset gjelder, til og med, i UTC — den som gjelder, ikke nødvendigvis den du sendte: en dato etter bevistypens vanlige utløp er satt til dagen før. Bare når bestillingen hadde `validUntil`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "orderId",
                    "offerUri",
                    "credentialName",
                    "credentialDescription"
                ]
            },
            "IssuanceRuleCreateRequest": {
                "type": "object",
                "properties": {
                    "issuerId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "credentialTypeId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "PRE_AUTHORIZED_CODE",
                            "AUTHORIZATION_CODE",
                            "CREDENTIAL_AGAINST_CREDENTIAL"
                        ]
                    },
                    "authProviderId": {
                        "format": "uuid",
                        "description": "Bare med `AUTHORIZATION_CODE`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "claimMappingRules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimMappingRequest"
                        },
                        "description": "Bare med `CREDENTIAL_AGAINST_CREDENTIAL`."
                    },
                    "presentationVerifierId": {
                        "format": "uuid",
                        "description": "Bare med `CREDENTIAL_AGAINST_CREDENTIAL`: organisasjonens egen verifier, som ber lommeboka om fremvisningen. Påkrevd for å publisere.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "issuerId",
                    "credentialTypeId",
                    "name",
                    "method"
                ]
            },
            "IssuanceRuleUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "PRE_AUTHORIZED_CODE",
                            "AUTHORIZATION_CODE",
                            "CREDENTIAL_AGAINST_CREDENTIAL"
                        ]
                    },
                    "authProviderId": {
                        "format": "uuid",
                        "description": "`null` kobler fra; utelatt beholder koblingen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "claimMappingRules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimMappingRequest"
                        },
                        "description": "Erstatter reglene. Utelatt beholder dem bare så lenge metoden er `CREDENTIAL_AGAINST_CREDENTIAL`."
                    },
                    "presentationVerifierId": {
                        "format": "uuid",
                        "description": "`null` kobler fra; utelatt beholder verifieren så lenge metoden er `CREDENTIAL_AGAINST_CREDENTIAL`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "IssuanceRuleWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "issuerId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "credentialTypeId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "method": {
                        "type": "string",
                        "enum": [
                            "PRE_AUTHORIZED_CODE",
                            "AUTHORIZATION_CODE",
                            "CREDENTIAL_AGAINST_CREDENTIAL"
                        ]
                    },
                    "authProviderId": {
                        "format": "uuid",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "claimMappingRules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimMappingWire"
                        },
                        "description": "Alltid med, ogsaa tom: flata skal aldri maatte gjette paa om feltet finnes."
                    },
                    "presentationVerifierId": {
                        "format": "uuid",
                        "description": "Organisasjonens verifier som ber om fremvisningen (`CREDENTIAL_AGAINST_CREDENTIAL`), ellers `null`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "issuerId",
                    "credentialTypeId",
                    "name",
                    "method",
                    "authProviderId",
                    "claimMappingRules",
                    "presentationVerifierId"
                ]
            },
            "IssuedCredentialWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "credentialTypeId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Bevistypens id hos utstederen. Ikke det samme som bevistypens id i bevisstudio."
                    },
                    "lifecycle": {
                        "type": "string",
                        "enum": [
                            "VALID",
                            "REVOKED",
                            "SUSPENDED"
                        ]
                    },
                    "statusListUri": {
                        "type": "string",
                        "format": "uri"
                    },
                    "statusListIndex": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "issuedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "expiresAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "format": {
                        "type": "string",
                        "enum": [
                            "dc+sd-jwt",
                            "mso_mdoc"
                        ]
                    },
                    "issuanceRuleId": {
                        "format": "uuid",
                        "description": "`null` når regelen ikke er kjent (bevis utstedt før koblingen ble lagret).",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "issuerId": {
                        "format": "uuid",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "vct": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "credentialTypeId",
                    "lifecycle",
                    "statusListUri",
                    "statusListIndex",
                    "issuedAt",
                    "expiresAt",
                    "format",
                    "issuanceRuleId",
                    "issuerId",
                    "vct"
                ]
            },
            "IssuedWindowWire": {
                "type": "object",
                "properties": {
                    "days": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Vinduets lengde: 7, 30, 90 eller 365."
                    },
                    "count": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Utstedt de siste `days` døgnene regnet fra `at`."
                    },
                    "previous": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Utstedt i de `days` døgnene før det igjen — «forrige periode»."
                    }
                },
                "required": [
                    "days",
                    "count",
                    "previous"
                ]
            },
            "IssuerAccessCertificateRegistrationWire": {
                "type": "object",
                "properties": {
                    "certificate": {
                        "$ref": "#/components/schemas/IssuerAccessCertificateWire"
                    },
                    "advisories": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/CertificateFindingWire"
                        }
                    }
                },
                "required": [
                    "certificate",
                    "advisories"
                ]
            },
            "IssuerAccessCertificateRequestWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "subjectDn": {
                        "type": "string"
                    },
                    "subjectAlternativeNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "csrPem": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "COMPLETED"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "handoff": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CertificateHandoffWire"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "keyRef",
                    "subjectDn",
                    "subjectAlternativeNames",
                    "csrPem",
                    "status",
                    "createdAt"
                ]
            },
            "IssuerAccessCertificateWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "RETIRED",
                            "REVOKED"
                        ]
                    },
                    "subject": {
                        "type": "string"
                    },
                    "subjectOrganizationIdentifier": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "thumbprint": {
                        "type": "string"
                    },
                    "notBefore": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "notAfter": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "provenance": {
                        "enum": [
                            "UPLOADED",
                            "PLATFORM_DEFAULT",
                            "REGISTERED"
                        ],
                        "description": "Hvor sertifikatet kom fra. I dag alltid `REGISTERED` (CSR-flyten); utelatt fra en utsteder som ennå ikke svarer det.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "chain": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "profile": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CertificateProfileWire",
                                "description": "Profilkontrollen. Bare i historikken."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "keyRef",
                    "status",
                    "subject",
                    "thumbprint",
                    "notBefore",
                    "notAfter",
                    "chain",
                    "createdAt"
                ]
            },
            "IssuerCertificateWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "keyUsable": {
                        "type": "boolean"
                    },
                    "keyUnusableReason": {
                        "description": "Bare når `keyUsable` er `false`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "SUPERSEDED",
                            "REVOKED"
                        ]
                    },
                    "subject": {
                        "type": "string"
                    },
                    "thumbprint": {
                        "type": "string"
                    },
                    "notBefore": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "notAfter": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "chainLength": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Antall sertifikater i kjeden utenom bladet."
                    },
                    "provenance": {
                        "type": "string",
                        "enum": [
                            "REGISTERED",
                            "UPLOADED",
                            "GENERATED",
                            "PLATFORM_DEFAULT"
                        ]
                    },
                    "keyBackend": {
                        "type": "string",
                        "enum": [
                            "SOFTWARE",
                            "HSM"
                        ]
                    },
                    "generatedAt": {
                        "format": "date-time",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "qualifiable": {
                        "type": "boolean"
                    },
                    "selfSigned": {
                        "type": "boolean"
                    },
                    "chain": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Kjeden som base64 DER, bladet først (som `x5c`)."
                    },
                    "trustChain": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TrustChainLinkWire"
                        }
                    }
                },
                "required": [
                    "id",
                    "keyRef",
                    "keyUsable",
                    "status",
                    "subject",
                    "thumbprint",
                    "notBefore",
                    "notAfter",
                    "chainLength",
                    "provenance",
                    "keyBackend",
                    "qualifiable",
                    "selfSigned",
                    "chain",
                    "trustChain"
                ]
            },
            "IssuerCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string",
                        "description": "Utstederens ledd i adressen. Små bokstaver, sifre og bindestrek; kan ikke endres senere."
                    },
                    "deployedTo": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Id-en til en utstedertjeneste fra `GET /v1/issuer-services`."
                    },
                    "baseUrl": {
                        "description": "Egen https-adresse for utstederen, uten avsluttende `/`. Utelatt = den avledede adressen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "slug",
                    "deployedTo"
                ]
            },
            "IssuerServiceWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "baseUrl": {
                        "type": "string"
                    },
                    "dedicated": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "baseUrl",
                    "dedicated"
                ]
            },
            "IssuerUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "description": "Kan ikke endres; en annen verdi enn den lagrede gir 409.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name"
                ]
            },
            "IssuerWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "deployedTo": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "baseUrl": {
                        "description": "`null` betyr at utstederen bruker den avledede stien hos issuer-servicen.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "name",
                    "slug",
                    "deployedTo",
                    "baseUrl"
                ]
            },
            "KeyImportRequest": {
                "type": "object",
                "properties": {
                    "privateKeyPem": {
                        "type": "string",
                        "description": "Den private nøkkelen som PEM. Sendes til signeringstjenesten og lagres ikke her."
                    },
                    "certificatePem": {
                        "type": "string"
                    },
                    "chainPem": {
                        "items": {
                            "type": "string"
                        },
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "privateKeyPem",
                    "certificatePem"
                ]
            },
            "MdocProfileRequest": {
                "type": "object",
                "properties": {
                    "docType": {
                        "type": "string",
                        "description": "ISO 18013-5 DocType, som omvendt domenenavn (f.eks. `no.kantega.medlemskap.1`)."
                    },
                    "namespace": {
                        "type": "string",
                        "description": "Navnerommet alle claims bor i."
                    },
                    "reservedOverride": {
                        "description": "Kreves for en docType eller et navnerom under `eu.europa.ec.` eller `org.iso.`.",
                        "type": [
                            "boolean",
                            "null"
                        ]
                    }
                },
                "required": [
                    "docType",
                    "namespace"
                ]
            },
            "MdocProfileWire": {
                "type": "object",
                "properties": {
                    "docType": {
                        "type": "string",
                        "description": "ISO 18013-5 DocType, som omvendt domenenavn (f.eks. `no.kantega.medlemskap.1`). Det lommeboka kjenner beviset igjen paa."
                    },
                    "namespace": {
                        "type": "string",
                        "description": "Navnerommet ALLE bevistypens claims bor i. Claim-stien i DCQL blir `[navnerom, claim]`."
                    }
                },
                "required": [
                    "docType",
                    "namespace"
                ]
            },
            "MeWire": {
                "type": "object",
                "properties": {
                    "role": {
                        "enum": [
                            "ADMINISTRATOR",
                            "CONTRIBUTOR"
                        ],
                        "description": "Rollen i organisasjonen, fra kallerens egen medlemsrad. `null` for en integrasjonsklient og for plattform-admin, som ikke er medlemmer.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "scopes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tilgangene kallet har — nøyaktig dem tilgangssjekken måler mot."
                    }
                },
                "required": [
                    "role",
                    "scopes"
                ]
            },
            "MonthCountWire": {
                "type": "object",
                "properties": {
                    "month": {
                        "type": "string",
                        "description": "Måneden, `YYYY-MM`."
                    },
                    "count": {
                        "type": "integer",
                        "format": "int64"
                    }
                },
                "required": [
                    "month",
                    "count"
                ]
            },
            "ORGANIZATION_LEVEL_SELF_DECLARED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "SELF_DECLARED"
                    },
                    "statedOrganizationNumber": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "kind",
                    "statedOrganizationNumber"
                ]
            },
            "ORGANIZATION_LEVEL_VERIFIED": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "VERIFIED"
                    },
                    "organizationNumber": {
                        "type": "string"
                    },
                    "verifiedAt": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "organizationNumber",
                    "verifiedAt"
                ]
            },
            "OrganizationLevelWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/ORGANIZATION_LEVEL_SELF_DECLARED"
                    },
                    {
                        "$ref": "#/components/schemas/ORGANIZATION_LEVEL_VERIFIED"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "SELF_DECLARED": "#/components/schemas/ORGANIZATION_LEVEL_SELF_DECLARED",
                        "VERIFIED": "#/components/schemas/ORGANIZATION_LEVEL_VERIFIED"
                    }
                }
            },
            "OrganizationWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "level": {
                        "$ref": "#/components/schemas/OrganizationLevelWire"
                    },
                    "slugs": {
                        "items": {
                            "$ref": "#/components/schemas/SlugAssignmentWire"
                        },
                        "description": "Hele slug-historikken. `null` naar svaret ikke baerer den (registreringen gjoer ikke det).",
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "deactivatedAt": {
                        "format": "date-time",
                        "description": "Naar organisasjonen ble deaktivert. `null` = aktiv. Et TIDSPUNKT og ikke et flagg: «er den deaktivert» kan utledes av tidspunktet, «naar ble den det» kan ikke utledes av et flagg — og det er noeyaktig spoersmaalet naar en kunde ringer og lurer paa hvorfor noe sluttet aa virke.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "id",
                    "slug",
                    "name",
                    "level",
                    "slugs",
                    "deactivatedAt"
                ]
            },
            "OwningOrganizationWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "slug": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "slug",
                    "name"
                ]
            },
            "PresentedCredentialWire": {
                "type": "object",
                "properties": {
                    "queryId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "format": {
                        "type": "string"
                    },
                    "credentialType": {
                        "description": "vct eller docType.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "issuer": {
                        "description": "Utstederen: bladsertifikatets subject når beviset bar `x5c`, ellers `iss`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "unverifiedIss": {
                        "description": "`iss` fra et SD-JWT VC med `x5c`. Ikke bundet av signaturen; utelatt ellers.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "claims": {
                        "type": "object",
                        "additionalProperties": {},
                        "description": "Opplysningene lommeboka delte, claim → verdi."
                    },
                    "checks": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/VerificationCheckWire"
                        }
                    }
                },
                "required": [
                    "queryId",
                    "format",
                    "credentialType",
                    "issuer",
                    "claims",
                    "checks"
                ]
            },
            "ProductUpdateWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "title": {
                        "type": "string"
                    },
                    "body": {
                        "type": "string"
                    },
                    "publishedAt": {
                        "format": "date-time",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "authoredBy": {
                        "format": "uuid",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "title",
                    "body",
                    "publishedAt",
                    "authoredBy",
                    "updatedAt"
                ]
            },
            "REGISTRATION_ADVISORY_DISPLAY_NAME_DIFFERS": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "DISPLAY_NAME_DIFFERS"
                    },
                    "inCertificate": {
                        "type": "string"
                    },
                    "registered": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "inCertificate",
                    "registered"
                ]
            },
            "REGISTRATION_ADVISORY_NO_DISPLAY_NAME": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "NO_DISPLAY_NAME"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "REGISTRATION_ADVISORY_NO_ORGANIZATION_NUMBER_IN_SUBJECT": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "NO_ORGANIZATION_NUMBER_IN_SUBJECT"
                    },
                    "organizationIdentifier": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "kind",
                    "organizationIdentifier"
                ]
            },
            "REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_DIFFERS": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "ORGANIZATION_NUMBER_DIFFERS"
                    },
                    "inCertificate": {
                        "type": "string"
                    },
                    "registered": {
                        "type": "string"
                    }
                },
                "required": [
                    "kind",
                    "inCertificate",
                    "registered"
                ]
            },
            "REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_NOT_VERIFIABLE": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "ORGANIZATION_NUMBER_NOT_VERIFIABLE"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "REGISTRATION_ADVISORY_WRONG_VERIFIER": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "WRONG_VERIFIER"
                    },
                    "certificateBelongsTo": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "required": [
                    "kind",
                    "certificateBelongsTo"
                ]
            },
            "RESULT_DELIVERY_POLL": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "POLL"
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "RESULT_DELIVERY_WEBHOOK": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "const": "WEBHOOK"
                    },
                    "endpoint": {
                        "type": "string",
                        "format": "uri"
                    }
                },
                "required": [
                    "kind",
                    "endpoint"
                ]
            },
            "ReasonRequest": {
                "type": "object",
                "properties": {
                    "reason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "RegistrationAdvisoryWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_DISPLAY_NAME_DIFFERS"
                    },
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_NO_DISPLAY_NAME"
                    },
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_NO_ORGANIZATION_NUMBER_IN_SUBJECT"
                    },
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_DIFFERS"
                    },
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_NOT_VERIFIABLE"
                    },
                    {
                        "$ref": "#/components/schemas/REGISTRATION_ADVISORY_WRONG_VERIFIER"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "DISPLAY_NAME_DIFFERS": "#/components/schemas/REGISTRATION_ADVISORY_DISPLAY_NAME_DIFFERS",
                        "NO_DISPLAY_NAME": "#/components/schemas/REGISTRATION_ADVISORY_NO_DISPLAY_NAME",
                        "NO_ORGANIZATION_NUMBER_IN_SUBJECT": "#/components/schemas/REGISTRATION_ADVISORY_NO_ORGANIZATION_NUMBER_IN_SUBJECT",
                        "ORGANIZATION_NUMBER_DIFFERS": "#/components/schemas/REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_DIFFERS",
                        "ORGANIZATION_NUMBER_NOT_VERIFIABLE": "#/components/schemas/REGISTRATION_ADVISORY_ORGANIZATION_NUMBER_NOT_VERIFIABLE",
                        "WRONG_VERIFIER": "#/components/schemas/REGISTRATION_ADVISORY_WRONG_VERIFIER"
                    }
                }
            },
            "RestrictionEntryWire": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "issuance-organization",
                            "issuer",
                            "issuer-credential-type",
                            "verification-organization",
                            "verifier",
                            "verification-rule"
                        ],
                        "description": "`issuance-organization` og `verification-organization` er hele organisasjonen på sin side og står alene der. `issuer` og `verifier` har id-en i `identifier`. De dype typene avvises inntil videre."
                    },
                    "identifier": {
                        "format": "uuid",
                        "description": "Id-en til utstederen eller verifieren. FRAVAeRENDE for organisasjonstypene, som bare har `type`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "type"
                ]
            },
            "RestrictionWire": {
                "type": "object",
                "properties": {
                    "issuance": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RestrictionEntryWire"
                        }
                    },
                    "verification": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RestrictionEntryWire"
                        }
                    }
                },
                "required": [
                    "issuance",
                    "verification"
                ]
            },
            "ResultDeliveryRequest": {
                "type": "object",
                "properties": {
                    "kind": {
                        "type": "string",
                        "enum": [
                            "POLL",
                            "WEBHOOK"
                        ]
                    },
                    "endpoint": {
                        "description": "https-adressen resultatet sendes til. Bare med `WEBHOOK`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "kind"
                ]
            },
            "ResultDeliveryWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/RESULT_DELIVERY_POLL"
                    },
                    {
                        "$ref": "#/components/schemas/RESULT_DELIVERY_WEBHOOK"
                    }
                ],
                "discriminator": {
                    "propertyName": "kind",
                    "mapping": {
                        "POLL": "#/components/schemas/RESULT_DELIVERY_POLL",
                        "WEBHOOK": "#/components/schemas/RESULT_DELIVERY_WEBHOOK"
                    }
                }
            },
            "RulebookReferenceRequest": {
                "type": "object",
                "properties": {
                    "source": {
                        "type": "string",
                        "enum": [
                            "DIGDIR",
                            "EU"
                        ]
                    },
                    "identifier": {
                        "type": "string"
                    }
                },
                "required": [
                    "source",
                    "identifier"
                ]
            },
            "SigningCertificateRequestRequest": {
                "type": "object",
                "properties": {
                    "subjectDn": {
                        "type": "string",
                        "description": "Subject, f.eks. `CN=Kantega AS, O=Kantega AS, C=NO`."
                    },
                    "subjectAlternativeNames": {
                        "items": {
                            "type": "string"
                        },
                        "type": [
                            "array",
                            "null"
                        ]
                    },
                    "key": {
                        "enum": [
                            "NEW",
                            "ACTIVE"
                        ],
                        "description": "`NEW` (standard) lager en ny nøkkel. `ACTIVE` fornyer sertifikatet på det aktive sertifikatets nøkkel, så bevis utstedt før fornyelsen beholder status hos motparter som binder statuslista til nøkkelen. Bare en nøkkel Kantega laget i en tidligere CSR kan fornyes.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "subjectDn"
                ]
            },
            "SigningCertificateRequestWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "keyUsable": {
                        "type": "boolean"
                    },
                    "keyUnusableReason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "subjectDn": {
                        "type": "string"
                    },
                    "subjectAlternativeNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "csrPem": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "COMPLETED"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "key": {
                        "enum": [
                            "NEW",
                            "ACTIVE"
                        ],
                        "description": "`ACTIVE` når CSR-en fornyer nøkkelen til et sertifikat utstederen alt har, ellers `NEW`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "handoff": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CertificateHandoffWire",
                                "description": "Hva du gjør med CSR-en. Utelatt når sertifikatet alt er utstedt."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "keyRef",
                    "keyUsable",
                    "subjectDn",
                    "subjectAlternativeNames",
                    "csrPem",
                    "status",
                    "createdAt"
                ]
            },
            "SigningKeyChoiceWire": {
                "type": "object",
                "properties": {
                    "organization": {
                        "$ref": "#/components/schemas/OwningOrganizationWire"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "ISSUER_SIGNING",
                            "ISSUER_ACCESS",
                            "VERIFIER_ACCESS"
                        ]
                    },
                    "source": {
                        "type": "string",
                        "enum": [
                            "PLATFORM_DEFAULT",
                            "UPLOADED",
                            "KSS_GENERATED",
                            "EXTERNAL_KMS"
                        ]
                    },
                    "chosenBy": {
                        "type": "string"
                    },
                    "chosenAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "organization",
                    "role",
                    "source",
                    "chosenBy",
                    "chosenAt"
                ]
            },
            "SigningKeySourcesWire": {
                "type": "object",
                "properties": {
                    "choices": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SigningKeyChoiceWire"
                        }
                    }
                },
                "required": [
                    "choices"
                ]
            },
            "SlugAssignmentWire": {
                "type": "object",
                "properties": {
                    "slug": {
                        "type": "string"
                    },
                    "namespace": {
                        "type": "string",
                        "enum": [
                            "UNVERIFIED",
                            "VERIFIED"
                        ]
                    },
                    "assignedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "current": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "slug",
                    "namespace",
                    "assignedAt",
                    "current"
                ]
            },
            "StartedVerificationSessionWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "verifierId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "ruleId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Verifiseringsregelen sesjonen ble startet med."
                    },
                    "phase": {
                        "type": "string",
                        "enum": [
                            "PENDING_REQUEST",
                            "REQUEST_DELIVERED",
                            "RESPONSE_RECEIVED",
                            "VERIFIED",
                            "REJECTED",
                            "EXPIRED"
                        ]
                    },
                    "clientId": {
                        "type": "string",
                        "description": "OID4VP `client_id`. Lenka til lommeboka er `openid4vp://?client_id=…&request_uri=…`."
                    },
                    "requestUri": {
                        "type": "string",
                        "format": "uri",
                        "description": "Hvor lommeboka henter forespørselen. Gis bare her, én gang; ikke logg den."
                    },
                    "expiresAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "verifierId",
                    "ruleId",
                    "phase",
                    "clientId",
                    "requestUri",
                    "expiresAt"
                ]
            },
            "SyntheticContextWire": {
                "type": "object",
                "properties": {
                    "organization_id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "synthetic": {
                        "type": "boolean"
                    },
                    "environment": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "source_instance": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "required": [
                    "organization_id",
                    "synthetic",
                    "environment",
                    "source_instance"
                ]
            },
            "TemplateCountWire": {
                "type": "object",
                "properties": {
                    "issuerId": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Utstederen (bevisstudios id) og bevistypens vct: nøkkelen en bevismals bevis kjennes igjen på."
                    },
                    "vct": {
                        "type": "string"
                    },
                    "total": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "last30Days": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Utstedt de siste 30 døgnene regnet fra `at`."
                    },
                    "revocable": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Alt som ikke er trukket tilbake."
                    }
                },
                "required": [
                    "issuerId",
                    "vct",
                    "total",
                    "last30Days",
                    "revocable"
                ]
            },
            "TokenError": {
                "type": "object",
                "properties": {
                    "error": {
                        "type": "string",
                        "description": "`invalid_client`, `invalid_request`, `unsupported_grant_type`, `invalid_target` eller `invalid_scope` (RFC 6749 §5.2)."
                    },
                    "error_description": {
                        "type": "string"
                    }
                },
                "required": [
                    "error",
                    "error_description"
                ]
            },
            "TokenRequest": {
                "type": "object",
                "properties": {
                    "grant_type": {
                        "type": "string",
                        "description": "Alltid `client_credentials`."
                    },
                    "client_id": {
                        "description": "Kan i stedet sendes i `Authorization: Basic`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "client_secret": {
                        "description": "Kan i stedet sendes i `Authorization: Basic`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "scope": {
                        "description": "Tilgangene du ber om, skilt med mellomrom. Utelatt gir tokenet ALLE tilgangene klienten er registrert med (RFC 6749 §3.3). Be om bare dem kallet trenger: et token med færre tilganger gjør mindre skade om det lekker.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "resource": {
                        "description": "Trengs ikke. Bare bevisstudios egen adresse godtas; alt annet er `invalid_target`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "grant_type"
                ]
            },
            "TokenResponse": {
                "type": "object",
                "properties": {
                    "access_token": {
                        "type": "string"
                    },
                    "token_type": {
                        "type": "string",
                        "description": "Alltid `Bearer`."
                    },
                    "expires_in": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Sekunder til tokenet utløper. Levetiden varierer med miljøet, så les verdien framfor å anta den, og bruk samme token til det utløper."
                    },
                    "scope": {
                        "type": "string",
                        "description": "Tilgangene tokenet har, skilt med mellomrom."
                    }
                },
                "required": [
                    "access_token",
                    "token_type",
                    "expires_in",
                    "scope"
                ]
            },
            "TrustChainLinkWire": {
                "type": "object",
                "properties": {
                    "subject": {
                        "type": "string"
                    },
                    "issuer": {
                        "type": "string"
                    },
                    "notBefore": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "notAfter": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "thumbprint": {
                        "type": "string",
                        "description": "SHA-256, små heksadesimaler."
                    },
                    "san": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "selfSigned": {
                        "type": "boolean"
                    },
                    "trustAnchor": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "subject",
                    "issuer",
                    "notBefore",
                    "notAfter",
                    "thumbprint",
                    "san",
                    "selfSigned",
                    "trustAnchor"
                ]
            },
            "UncheckedWire": {
                "type": "object",
                "properties": {
                    "check": {
                        "type": "string",
                        "enum": [
                            "ISSUER_SIGNATURE",
                            "ISSUER_TRUST",
                            "SELECTIVE_DISCLOSURE",
                            "REVOCATION",
                            "EXPIRY",
                            "HOLDER_BINDING",
                            "MATCHES_REQUEST",
                            "CLAIM_CONSTRAINTS"
                        ]
                    },
                    "reason": {
                        "type": "string",
                        "enum": [
                            "STATUS_LIST_UNAVAILABLE",
                            "STATUS_LIST_RESERVED_VALUE",
                            "TRUST_NOT_CONFIGURED"
                        ]
                    }
                },
                "required": [
                    "check",
                    "reason"
                ]
            },
            "VERIFICATION_RESULT_EXPIRED": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "const": "EXPIRED"
                    },
                    "sessionId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "settledAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "status",
                    "sessionId",
                    "settledAt"
                ]
            },
            "VERIFICATION_RESULT_REJECTED": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "const": "REJECTED"
                    },
                    "sessionId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "settledAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "failures": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/VerificationFailureWire"
                        }
                    }
                },
                "required": [
                    "status",
                    "sessionId",
                    "settledAt",
                    "failures"
                ]
            },
            "VERIFICATION_RESULT_VERIFIED": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "const": "VERIFIED"
                    },
                    "sessionId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "settledAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "assurance": {
                        "type": "string",
                        "enum": [
                            "COMPLETE",
                            "INDETERMINATE"
                        ],
                        "description": "`INDETERMINATE` når en kontroll ikke kunne gjøres; `unchecked` sier hvilken."
                    },
                    "unchecked": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UncheckedWire"
                        }
                    },
                    "presentations": {
                        "items": {
                            "$ref": "#/components/schemas/PresentedCredentialWire"
                        },
                        "description": "`null` når verifieren ikke lagrer innholdet.",
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "status",
                    "sessionId",
                    "settledAt",
                    "assurance",
                    "unchecked",
                    "presentations"
                ]
            },
            "VerificationCheckWire": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "enum": [
                            "ISSUER_SIGNATURE",
                            "ISSUER_TRUST",
                            "SELECTIVE_DISCLOSURE",
                            "REVOCATION",
                            "EXPIRY",
                            "HOLDER_BINDING",
                            "MATCHES_REQUEST",
                            "CLAIM_CONSTRAINTS"
                        ]
                    },
                    "outcome": {
                        "type": "string",
                        "enum": [
                            "PASS",
                            "FAIL",
                            "NOT_CHECKED"
                        ]
                    },
                    "detail": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "outcome",
                    "detail"
                ]
            },
            "VerificationFailureWire": {
                "type": "object",
                "properties": {
                    "queryId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "check": {
                        "enum": [
                            "ISSUER_SIGNATURE",
                            "ISSUER_TRUST",
                            "SELECTIVE_DISCLOSURE",
                            "REVOCATION",
                            "EXPIRY",
                            "HOLDER_BINDING",
                            "MATCHES_REQUEST",
                            "CLAIM_CONSTRAINTS"
                        ],
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "detail": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "queryId",
                    "check",
                    "detail"
                ]
            },
            "VerificationResultWire": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/VERIFICATION_RESULT_EXPIRED"
                    },
                    {
                        "$ref": "#/components/schemas/VERIFICATION_RESULT_REJECTED"
                    },
                    {
                        "$ref": "#/components/schemas/VERIFICATION_RESULT_VERIFIED"
                    }
                ],
                "discriminator": {
                    "propertyName": "status",
                    "mapping": {
                        "EXPIRED": "#/components/schemas/VERIFICATION_RESULT_EXPIRED",
                        "REJECTED": "#/components/schemas/VERIFICATION_RESULT_REJECTED",
                        "VERIFIED": "#/components/schemas/VERIFICATION_RESULT_VERIFIED"
                    }
                }
            },
            "VerificationRuleCreateRequest": {
                "type": "object",
                "properties": {
                    "verifierId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "query": {
                        "type": "object",
                        "description": "DCQL-spørringen (OID4VP 1.0 §6). Må ha `credentials`."
                    },
                    "delivery": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ResultDeliveryRequest",
                                "description": "Hvordan resultatet leveres. Utelatt = du henter det selv (`POLL`)."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "claimConstraints": {
                        "items": {
                            "$ref": "#/components/schemas/ClaimConstraintWire"
                        },
                        "description": "Krav til dato-claims, målt mot øyeblikket svaret tas imot (ikke når forespørselen ble opprettet). En Kantega-utvidelse ved siden av DCQL: den sendes ikke til lommeboka, og dømmes av verifieren som sjekken `CLAIM_CONSTRAINTS`. Hvert krav må peke på et bevis og et claim `query` ber om.",
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": [
                    "verifierId",
                    "name",
                    "query"
                ]
            },
            "VerificationRuleUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "query": {
                        "type": "object",
                        "description": "Erstatter spørringen. Må ha `credentials`."
                    },
                    "delivery": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/ResultDeliveryRequest",
                                "description": "Utelatt eller `null` beholder leveringen."
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "claimConstraints": {
                        "items": {
                            "$ref": "#/components/schemas/ClaimConstraintWire"
                        },
                        "description": "Erstatter kravene; `[]` fjerner dem. Utelatt eller `null` beholder dem, og de må passe en ny `query`.",
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "VerificationRuleWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "verifierId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "query": {
                        "type": "object",
                        "description": "DCQL-spørringen (OID4VP 1.0 §6), normalisert: standardverdiene står med, ukjente felter er borte."
                    },
                    "delivery": {
                        "$ref": "#/components/schemas/ResultDeliveryWire"
                    },
                    "claimConstraints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ClaimConstraintWire"
                        },
                        "description": "Krav til dato-claims, målt mot øyeblikket svaret tas imot (ikke når forespørselen ble opprettet). En Kantega-utvidelse ved siden av DCQL: den sendes ikke til lommeboka, og dømmes av verifieren som sjekken `CLAIM_CONSTRAINTS`. Hvert krav må peke på et bevis og et claim `query` ber om."
                    }
                },
                "required": [
                    "id",
                    "verifierId",
                    "name",
                    "query",
                    "delivery"
                ]
            },
            "VerificationSessionRequest": {
                "type": "object",
                "properties": {
                    "verificationRuleId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "redirectUri": {
                        "description": "Adressen lommeboka sender brukeren tilbake til i samme-enhets-flyten (OID4VP 1.0 §8.2), med `response_code` som query-parameter. Med den satt kan resultatet bare leses med koden (første gang), og koden kommer bare til den nettleseren lommeboka sender brukeren til. Utelat den når QR-koden kan skannes på en annen enhet: da når koden aldri skjermen som viste QR-koden, og resultatet kan ikke hentes. Uten den er det vanlig polling. Adressen må treffe én av verifierens `redirectUris` på skjema, vert og port, ellers 422 `redirect-uri-not-allowed`.",
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "verificationRuleId"
                ]
            },
            "VerificationSessionWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "verifierId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "ruleId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "phase": {
                        "type": "string",
                        "enum": [
                            "PENDING_REQUEST",
                            "REQUEST_DELIVERED",
                            "RESPONSE_RECEIVED",
                            "VERIFIED",
                            "REJECTED",
                            "EXPIRED"
                        ],
                        "description": "`VERIFIED`, `REJECTED` og `EXPIRED` er avgjort; da finnes resultatet."
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "expiresAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "id",
                    "verifierId",
                    "ruleId",
                    "phase",
                    "createdAt",
                    "expiresAt"
                ]
            },
            "VerifierAccessCertificateRequestWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "keyRef": {
                        "type": "string"
                    },
                    "keyUsable": {
                        "type": "boolean"
                    },
                    "keyUnusableReason": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "subjectDn": {
                        "type": "string"
                    },
                    "subjectAlternativeNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "csrPem": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PENDING",
                            "COMPLETED"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "handoff": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/CertificateHandoffWire"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "keyRef",
                    "keyUsable",
                    "subjectDn",
                    "subjectAlternativeNames",
                    "csrPem",
                    "status",
                    "createdAt"
                ]
            },
            "VerifierCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployedTo": {
                        "type": "string",
                        "format": "uuid",
                        "description": "Id-en til en verifiertjeneste fra `GET /v1/verifier-services`."
                    }
                },
                "required": [
                    "name",
                    "deployedTo"
                ]
            },
            "VerifierServiceWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "baseUrl": {
                        "type": "string"
                    },
                    "dedicated": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "baseUrl",
                    "dedicated"
                ]
            },
            "VerifierUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "description": "Utelatt eller `null` beholder navnet.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "redirectUris": {
                        "items": {
                            "type": "string"
                        },
                        "description": "Tillatte adresser for samme-enhets-flyten. Erstatter hele lista; `[]` tømmer den. Utelatt eller `null` beholder den. Verifier-servicen dømmer hver oppføring (400 `redirect-uri-invalid`).",
                        "type": [
                            "array",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "VerifierWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "name": {
                        "type": "string"
                    },
                    "deployedTo": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "redirectUris": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "id",
                    "name",
                    "deployedTo",
                    "redirectUris"
                ]
            },
            "WalletNotificationWire": {
                "type": "object",
                "properties": {
                    "credentialId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "event": {
                        "enum": [
                            "CREDENTIAL_ACCEPTED",
                            "CREDENTIAL_FAILURE",
                            "CREDENTIAL_DELETED"
                        ],
                        "description": "`null` til lommeboka har sendt kvitteringen (OID4VCI 1.0 §11).",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "eventDescription": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "receivedAt": {
                        "format": "date-time",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "promisedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "expiresAt": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "credentialId",
                    "event",
                    "eventDescription",
                    "receivedAt",
                    "promisedAt",
                    "expiresAt"
                ]
            },
            "WebhookDeliverySummaryWire": {
                "type": "object",
                "properties": {
                    "gaveUp": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Leveranser som er gitt opp i vinduet. Leveranser, ikke forsøk."
                    },
                    "since": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Der vinduet startet. Uten `since` 24 timer tilbake, og aldri mer enn 30 døgn."
                    },
                    "lastGaveUpAt": {
                        "format": "date-time",
                        "description": "Siste gang en levering ble gitt opp. `null` når ingen er det.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "endpoints": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Hvor mange ulike adresser leveransene som ble gitt opp, gikk til."
                    },
                    "recent": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/GaveUpWebhookDeliveryWire"
                        },
                        "description": "De nyeste som ble gitt opp, én per verifiseringsregel og adresse, nyeste først. Høyst fem."
                    }
                },
                "required": [
                    "gaveUp",
                    "since",
                    "lastGaveUpAt",
                    "endpoints",
                    "recent"
                ]
            },
            "WebhookDeliveryWire": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "verificationRuleId": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "endpoint": {
                        "type": "string",
                        "format": "uri"
                    },
                    "attemptedAt": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "attempt": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "nextAttemptAt": {
                        "format": "date-time",
                        "description": "`null` når resultatet er levert, eller forsøkene er gitt opp.",
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "outcome": {
                        "$ref": "#/components/schemas/DeliveryOutcomeWire"
                    }
                },
                "required": [
                    "id",
                    "verificationRuleId",
                    "endpoint",
                    "attemptedAt",
                    "attempt",
                    "nextAttemptAt",
                    "outcome"
                ]
            }
        }
    }
}
