> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/da/api/openapi.md).

# OpenAPI

Generer OpenAPI-dokumentation til PowerShell Universal-slutpunkter, tilføj kommentarbaseret hjælp, og definer input- og outputtyper til Swagger-dashboardet.

## Om

API-dokumentation kan oprettes for Deres slutpunkter ved at oprette en ny OpenAPI-definition og tilknytte slutpunkter til den. OpenAPI er et standardformat og kan bruges af værktøjer som [OpenAPI Generator](https://openapi-generator.tech/) eller [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) til at oprette klienter. Swagger-dashboardet er også integreret i PowerShell Universal for at levere interaktiv dokumentation.

## Dokumentation til administrations-API'en

De kan se dokumentationen til administrations-API'et ved at besøge det indbyggede Swagger-dashboard.

```
http://localhost:5000/swagger/index.html
```

## Opret et OpenAPI-dokument

Hvis De vil oprette en OpenAPI-definition, skal De klikke på **Build > APIs > Documentation** og derefter på Create new Endpoint Documentation. De kan angive navn, URL, beskrivelse og godkendelsesoplysninger for dokumentationen.

Når det er oprettet, kan De tildele slutpunkter til dokumentationen ved at redigere slutpunktet.

Dokumentationen til Deres slutpunkt vises i Swagger-dashboardet. Vælg definitionen med rullelisten Select a definition.

Alle Deres brugerdefinerede slutpunkter vil blive anført.

## Hjælpetekst

De kan angive hjælpetekst til Deres API'er ved hjælp af kommentarbaseret hjælp. Hvis De medtager en synopsis, en beskrivelse og parameterbeskrivelser, dokumenteres hver af disse dele i OpenAPI-dokumentationen og Swagger age.

Med et simpelt `/get/:id`-slutpunkt kunne vi f.eks. have kommentarbaseret hjælp som denne.

```powershell
<# 
.SYNOPSIS
This is an endpoint

.DESCRIPTION
This is a description

.PARAMETER ID
This is an ID.

#>
param($ID)
    
$Id
```

Den resulterende Swagger-side viser hver af disse beskrivelser.

## Input- og outputtyper

Typer kan defineres i en ScriptBlock til slutpunktsdokumentation. Klik på knappen Edit Details på posten for API-dokumentationen.

API'er kan også dokumenteres ved hjælp af input- og outputtyper ved at oprette en PowerShell-klasse og henvise til den i Deres kommentarbaserede hjælp. PowerShell Universal udnytter afsnittene `.INPUTS` og `.OUTPUTS` til at angive accepterede formater og definere returværdier for statuskoder.

Inden for `.INPUTS` og `.OUTPUTS` , skal De definere en YAML-blok for at angive disse oplysninger. Brug Endpoint Documentation-editoren til at oprette typer. Denne fil indlæses, når OpenAPI-dokumenter læses. Disse oplysninger gemmes i `endpointsDocumentation.ps1`.

```powershell
[Documentation()]
class MyReturnType {
    [string]$Value
}
```

### Input

Inputtyper defineres i sektionen `.INPUTS`. Denne sektion er en YAML-blok, der definerer, om inputtet er påkrævet, giver en beskrivelse og angiver indholdstypen. Dette er en indholdstype efterfulgt af den PowerShell-klasse, De har defineret i slutpunktsdokumentationen.

```powershell
<#
  .INPUTS
  Required: false
  Description: This is an input value.
  Content:
      application/json: MyReturnType 
#>
param()
```

### Output

Outputtyper ligner input, men angives på returkoder samt deres indholdstype og PowerShell-klasse. Nedenstående eksempel returnerer en ADAccountType-klasse, når HTTP OK (200) returneres fra API'et. En 400 (Bad Request) returnerer ikke data, men angiver en beskrivelse, der vises i API-dokumentationen.

```powershell
<#
.OUTPUTS
200:
  Description: This is an output value. 
  Content:
      application/json: ADAccountType

400:
  Description: Invalid input
#>
param()
```

### Se også

* [Devolutions Academy – Oprettelse af et slutpunkt, der accepterer en brødtekst](https://academy.devolutions.net/student/activity/3466020-creating-an-endpoint-that-accepts-a-body)
* [Devolutions Academy – Forskellige rutemetoder](https://academy.devolutions.net/student/activity/3466022-different-route-methods)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/da/api/openapi.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
