diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 0714a64f..f926d0b4 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -13,6 +13,7 @@
- Build succeeds
- Tests pass
- Relevant documentation updated
+- Postman artifacts regenerated, or no HTTP API/Postman input changed
- No unnecessary breaking change introduced
- Desktop and mobile smoke test completed against the local executable
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e759d615..bc6f822f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -94,8 +94,14 @@ jobs:
nuget-${{ runner.os }}-
- name: Restore web tests
run: dotnet restore tests/Agentstration.Web.Tests/Agentstration.Web.Tests.csproj -p:NuGetAudit=true -p:NuGetAuditMode=all
+ - name: Restore Postman generator
+ run: dotnet restore tools/Agentstration.Postman/Agentstration.Postman.csproj -p:NuGetAudit=true -p:NuGetAuditMode=all
- name: Build web tests
run: dotnet build tests/Agentstration.Web.Tests/Agentstration.Web.Tests.csproj --configuration Release --no-restore
+ - name: Build Postman generator
+ run: dotnet build tools/Agentstration.Postman/Agentstration.Postman.csproj --configuration Release --no-restore
+ - name: Verify generated Postman artifacts on Windows
+ run: dotnet run --project tools/Agentstration.Postman --configuration Release --no-build -- --check
- name: Verify Windows host lifecycle
run: dotnet tests/Agentstration.Web.Tests/bin/Release/net10.0/Agentstration.Web.Tests.dll --filter "FullyQualifiedName~QuartzHostLifecycleTests|FullyQualifiedName~StartupDoesNotCreateLegacyDataJson" --progress off
@@ -139,6 +145,9 @@ jobs:
- name: Build Agentstration
if: needs.changes.outputs.dotnet == 'true'
run: dotnet build Agentstration.slnx --configuration Release --no-restore
+ - name: Verify generated Postman artifacts
+ if: needs.changes.outputs.dotnet == 'true'
+ run: dotnet run --project tools/Agentstration.Postman --configuration Release --no-build -- --check
- name: Test Agentstration
if: needs.changes.outputs.dotnet == 'true'
run: dotnet test Agentstration.slnx --configuration Release --no-build
diff --git a/AGENTS.md b/AGENTS.md
index 3a124359..ff07ab92 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -203,6 +203,16 @@ Use `--launch-profile http-NoBootstrap` instead when the test must preserve or e
5. Add an ADR under `docs/decisions/` for a significant architectural choice; do not rewrite an accepted ADR to hide a new decision.
6. Build and test after meaningful increments, and report any validation that could not be run.
+## HTTP API and Postman Contract
+
+OpenAPI is the source of truth for the HTTP API reference. `dev/postman/Agentstration.postman_collection.json` is a generated consumer artifact and must remain synchronized with it.
+
+- When adding, changing, or removing an HTTP route, request or response contract, parameter, media type, authentication rule, or other observable HTTP behavior, run `dotnet run --project tools/Agentstration.Postman` and commit the regenerated Postman artifacts in the same change.
+- Update the relevant curated file under `dev/postman/scenarios/` when an API behavior change affects an executable workflow, captured identifier, ETag, assertion, or cleanup step.
+- Do not edit the generated `API Reference` folder directly. Improve endpoint OpenAPI metadata or the generator instead.
+- Before handoff, run `dotnet run --project tools/Agentstration.Postman -- --check` and report the result in the pull request. If the command is not applicable because no HTTP API or Postman input changed, state that explicitly.
+- Keep committed environments free of credentials, tokens, cookies, secret values, and machine-specific identifiers. Use separate `scheme`, `host`, and `port` variables for endpoint configuration.
+
## Issue Creation
When creating or updating a GitHub issue, treat the forms under `.github/ISSUE_TEMPLATE/` as the canonical structure, including when using the GitHub API:
diff --git a/Agentstration.slnx b/Agentstration.slnx
index 7eea6f3d..255a2bfe 100644
--- a/Agentstration.slnx
+++ b/Agentstration.slnx
@@ -67,4 +67,7 @@
+
+
+
diff --git a/README.md b/README.md
index 72265af3..866e7d84 100644
--- a/README.md
+++ b/README.md
@@ -204,6 +204,8 @@ dotnet build Agentstration.slnx --configuration Release
dotnet test Agentstration.slnx --configuration Release
```
+The complete Postman collection and Local/Docker environment templates are under [`dev/postman`](dev/postman/README.md). Regenerate them from the authoritative runtime OpenAPI document with `dotnet run --project tools/Agentstration.Postman`.
+
Warnings are treated as errors, .NET analyzers are enabled and NuGet audit findings fail restore. The default tests are designed to remain offline and cost-free; real-provider smoke tests are opt-in.
## Documentation
diff --git a/dev/postman/Agentstration.postman_collection.json b/dev/postman/Agentstration.postman_collection.json
new file mode 100644
index 00000000..43b9734f
--- /dev/null
+++ b/dev/postman/Agentstration.postman_collection.json
@@ -0,0 +1,12618 @@
+{
+ "info": {
+ "_postman_id": "286ad89f-2ce7-4a63-9ed0-fcb6078864ba",
+ "name": "Agentstration HTTP API",
+ "description": "Generated from Agentstration\u0027s authoritative OpenAPI document. API Reference is regenerated; Scenarios are curated. SignalR and MCP are separate transports. See dev/postman/README.md.",
+ "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "const token = pm.environment.get(\u0027bearerToken\u0027) || pm.collectionVariables.get(\u0027bearerToken\u0027);",
+ "if (token) pm.request.headers.upsert({ key: \u0027Authorization\u0027, value: \u0060Bearer ${token}\u0060 });",
+ "else pm.request.headers.remove(\u0027Authorization\u0027);"
+ ]
+ }
+ }
+ ],
+ "variable": [
+ {
+ "key": "scheme",
+ "value": "http",
+ "type": "string"
+ },
+ {
+ "key": "host",
+ "value": "localhost",
+ "type": "string"
+ },
+ {
+ "key": "port",
+ "value": "5100",
+ "type": "string"
+ },
+ {
+ "key": "baseUrl",
+ "value": "{{scheme}}://{{host}}:{{port}}",
+ "type": "string"
+ },
+ {
+ "key": "userName",
+ "value": "admin",
+ "type": "string"
+ },
+ {
+ "key": "password",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "bearerToken",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "namespace",
+ "value": "default",
+ "type": "string"
+ },
+ {
+ "key": "workspaceName",
+ "value": "default",
+ "type": "string"
+ },
+ {
+ "key": "skip",
+ "value": "0",
+ "type": "string"
+ },
+ {
+ "key": "take",
+ "value": "50",
+ "type": "string"
+ },
+ {
+ "key": "registryName",
+ "value": "postman-test",
+ "type": "string"
+ },
+ {
+ "key": "registryIndexUrl",
+ "value": "https://registry.example/v1/index.json",
+ "type": "string"
+ },
+ {
+ "key": "officialRegistryName",
+ "value": "agentstration-official",
+ "type": "string"
+ },
+ {
+ "key": "registryEtag",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "staleRegistryEtag",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "officialRegistryEtag",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "discoveredPublisher",
+ "value": "agentstration",
+ "type": "string"
+ },
+ {
+ "key": "discoveredSource",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "discoverySelection",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "accountId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "actionId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "afterSequence",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "agent",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "agentName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "agentResourceId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "allNamespaces",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "applicationId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "artifactId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "available",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "buildId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "catalog",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "channel",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "closeInteractions",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "compatibleOnly",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "conflictsOnly",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "createdFrom",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "createdTo",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "dashboardName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "decision",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "deleteSystemManaged",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "direction",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "enabled",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "entry",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "entryName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "externalIdentityId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "flowId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "force",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "format",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "freshOnly",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "generation",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "hasPendingAction",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "hookId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "hookName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "id",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "inputId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "interactionId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "invocationId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "kind",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "limit",
+ "value": "50",
+ "type": "string"
+ },
+ {
+ "key": "locale",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "manifestDigest",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "model",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "name",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "notificationId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "ownerKind",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "page",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "pageSize",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "pendingActionId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "principalId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "profileName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "projectId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "provider",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "providerName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "publisher",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "publisherStatus",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "registrationName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "registry",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "removeDashboardReferences",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "replaceExisting",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "requestId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "requester",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "resourceGeneration",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "resourceNamespace",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "returnUrl",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "revisionName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "runId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "scopeRef",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "search",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "snapshotUid",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "sort",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "sortBy",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "sortDirection",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "sourceName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "status",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "taskId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "tokenId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "toolCallId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "toolId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "toolName",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "top",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "trustPolicy",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "type",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "unreadOnly",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "verificationStatus",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "version",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "versionUid",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "workItemId",
+ "value": "",
+ "type": "string"
+ },
+ {
+ "key": "workspaceId",
+ "value": "",
+ "type": "string"
+ }
+ ],
+ "item": [
+ {
+ "name": "API Reference",
+ "item": [
+ {
+ "name": "System",
+ "item": [
+ {
+ "name": "get_health",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/health",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "health"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: OK"
+ },
+ "response": []
+ },
+ {
+ "name": "get_health_ready",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/health/ready",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "health",
+ "ready"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: OK"
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Authentication",
+ "item": [
+ {
+ "name": "Get bootstrap status",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/auth/bootstrap",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "auth",
+ "bootstrap"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: The operation completed successfully.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Bootstrap the first administrator",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/auth/bootstrap",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "auth",
+ "bootstrap"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 201: The operation completed successfully.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022userName\u0022: \u0022\u0022,\n \u0022password\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022email\u0022: \u0022\u0022,\n \u0022topology\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Sign in with a local account",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/auth/local/login",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "auth",
+ "local",
+ "login"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 204: The operation completed successfully and returned no content.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022userName\u0022: \u0022\u0022,\n \u0022password\u0022: \u0022\u0022,\n \u0022rememberMe\u0022: false\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Sign out",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/auth/logout",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "auth",
+ "logout"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Start OIDC sign-in",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/auth/oidc/login?returnUrl={{returnUrl}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "auth",
+ "oidc",
+ "login"
+ ],
+ "query": [
+ {
+ "key": "returnUrl",
+ "value": "{{returnUrl}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 302: The browser is redirected to the configured identity provider.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Identity",
+ "item": [
+ {
+ "name": "List local accounts",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/accounts",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "accounts"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a local account",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/accounts",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "accounts"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022userName\u0022: \u0022\u0022,\n \u0022password\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022email\u0022: \u0022\u0022,\n \u0022workspaceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022role\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Update local account status",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/accounts/{{accountId}}/status",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "accounts",
+ "{{accountId}}",
+ "status"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022enabled\u0022: false\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List security audit events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/audit-events?limit={{limit}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "audit-events"
+ ],
+ "query": [
+ {
+ "key": "limit",
+ "value": "{{limit}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get the current identity context",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/context",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "context"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Select the current workspace",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/context/workspace",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "context",
+ "workspace"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022workspaceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List organization members",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/members",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "members"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get organization administration details",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/organization",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "organization"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List personal access tokens",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/pat",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "pat"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a personal access token",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/pat",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "pat"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022workspaceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022permissions\u0022: [\n \u0022\u0022\n ],\n \u0022expiresAt\u0022: \u00222026-01-01T00:00:00Z\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke all personal access tokens",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/pat",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "pat"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke a personal access token",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/pat/{{tokenId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "pat",
+ "{{tokenId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get platform role",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/platform",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "platform"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List platform administrators",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/platform-administrators",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "platform-administrators"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Grant platform administrator",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/platform-administrators/{{principalId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "platform-administrators",
+ "{{principalId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke platform administrator",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/platform-administrators/{{principalId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "platform-administrators",
+ "{{principalId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get principal preferences",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/preferences",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "preferences"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update principal preferences",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/preferences",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "preferences"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022theme\u0022: \u0022\u0022,\n \u0022language\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List external identities",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/external-identities",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "external-identities"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Link an external identity",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/external-identities",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "external-identities"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022issuer\u0022: \u0022\u0022,\n \u0022subject\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Unlink an external identity",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/external-identities/{{externalIdentityId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "external-identities",
+ "{{externalIdentityId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List a principal\u0027s personal access tokens",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/pat",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "pat"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke all personal access tokens for a principal",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/pat",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "pat"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke a principal personal access token",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/principals/{{principalId}}/pat/{{tokenId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "principals",
+ "{{principalId}}",
+ "pat",
+ "{{tokenId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List identity workspaces",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a workspace",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a workspace",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces/{{workspaceId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces",
+ "{{workspaceId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List workspace memberships",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces/{{workspaceId}}/memberships",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces",
+ "{{workspaceId}}",
+ "memberships"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Set a workspace membership",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces/{{workspaceId}}/memberships/{{principalId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces",
+ "{{workspaceId}}",
+ "memberships",
+ "{{principalId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022role\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Remove a workspace membership",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/identity/workspaces/{{workspaceId}}/memberships/{{principalId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "identity",
+ "workspaces",
+ "{{workspaceId}}",
+ "memberships",
+ "{{principalId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "AEP enrollment",
+ "item": [
+ {
+ "name": "List AEP enrollment requests",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Announce an AEP extension for enrollment",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/announce",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "announce"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: OK; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022instanceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022extension\u0022: {\n \u0022id\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022\n },\n \u0022endpoint\u0022: \u0022https://example.invalid/\u0022,\n \u0022pairingUri\u0022: \u0022https://example.invalid/\u0022,\n \u0022method\u0022: \u0022PairingCode\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Claim a one-time AEP pairing code",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/claim",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "claim"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: OK; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022requestId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022instanceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022code\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Complete AEP pairing and identity verification",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/ready",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "ready"
+ ]
+ },
+ "description": "Authentication: anonymous.\n\nResponses: 200: OK; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022requestId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022instanceId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022completionToken\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get the effective AEP enrollment-mode policy",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/settings",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "settings"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Enable or disable configurable AEP enrollment modes",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/settings",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "settings"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022pairingCodeEnabled\u0022: false,\n \u0022sharedKeyFileEnabled\u0022: false,\n \u0022eTag\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Assign an AEP enrollment request to an instance, tenant, or workspace scope",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/assign",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "assign"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel an AEP enrollment request",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Reject an AEP enrollment request",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/reject",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "reject"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Revoke an active AEP credential",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/revoke",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "revoke"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Issue a fresh AEP pairing code",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/rotate",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "rotate"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Rotate an active AEP credential without downtime",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/rotate-credential",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "rotate-credential"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Unenroll an AEP extension so it can be enrolled again",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/aep/enrollments/{{requestId}}/unenroll",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "aep",
+ "enrollments",
+ "{{requestId}}",
+ "unenroll"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Bootstrap",
+ "item": [
+ {
+ "name": "Apply bootstrap profiles",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/bootstrap/applications",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "bootstrap",
+ "applications"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022profiles\u0022: [\n \u0022\u0022\n ],\n \u0022expectedDigest\u0022: \u0022\u0022,\n \u0022target\u0022: \u0022\u0022,\n \u0022bindings\u0022: [\n {\n \u0022profile\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022target\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n }\n }\n ],\n \u0022source\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a bootstrap application",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/bootstrap/applications/{{applicationId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "bootstrap",
+ "applications",
+ "{{applicationId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List bootstrap profiles and applications",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/bootstrap/profiles",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "bootstrap",
+ "profiles"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Preview bootstrap profiles",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/bootstrap/profiles/preview",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "bootstrap",
+ "profiles",
+ "preview"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022profiles\u0022: [\n \u0022\u0022\n ],\n \u0022target\u0022: \u0022\u0022,\n \u0022bindings\u0022: [\n {\n \u0022profile\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022target\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n }\n }\n ],\n \u0022source\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Resource scopes",
+ "item": [
+ {
+ "name": "Visualize accessible resource scopes",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/resource-scopes",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "resource-scopes"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List writable resource scope targets",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/resource-scopes/targets?kind={{kind}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "resource-scopes",
+ "targets"
+ ],
+ "query": [
+ {
+ "key": "kind",
+ "value": "{{kind}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Resources",
+ "item": [
+ {
+ "name": "List resources available to Entries",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/resources?kind={{kind}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "resources"
+ ],
+ "query": [
+ {
+ "key": "kind",
+ "value": "{{kind}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Management",
+ "item": [
+ {
+ "name": "List agents",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents?allNamespaces={{allNamespaces}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents"
+ ],
+ "query": [
+ {
+ "key": "allNamespaces",
+ "value": "{{allNamespaces}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get the agent model resolution",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{agentName}}/model",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{agentName}}",
+ "model"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the agent resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{agentName}}/revisions/{{revisionName}}?force={{force}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{agentName}}",
+ "revisions",
+ "{{revisionName}}"
+ ],
+ "query": [
+ {
+ "key": "force",
+ "value": "{{force}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get agent revision purge impact",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{agentName}}/revisions/{{revisionName}}/purge-impact",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{agentName}}",
+ "revisions",
+ "{{revisionName}}",
+ "purge-impact"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get an agent",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create or update an agent",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022kind\u0022: \u0022\u0022,\n \u0022metadata\u0022: {\n \u0022namespace\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022annotations\u0022: {}\n },\n \u0022definition\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the agent resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create an agent revision",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/agents/{{name}}/revisions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "agents",
+ "{{name}}",
+ "revisions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022environment\u0022: \u0022\u0022,\n \u0022runtimeProfileName\u0022: \u0022\u0022,\n \u0022hostingMode\u0022: 0,\n \u0022runtimeProfileNamespace\u0022: \u0022default\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List deployments",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments?skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments"
+ ],
+ "query": [
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a deployment",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a deployment",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022revisionName\u0022: \u0022\u0022,\n \u0022environment\u0022: \u0022\u0022,\n \u0022runtimeProfileName\u0022: \u0022\u0022,\n \u0022hostingMode\u0022: 0,\n \u0022runtimeProfileNamespace\u0022: \u0022default\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Reconcile a deployment",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments/{{name}}/reconcile",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments",
+ "{{name}}",
+ "reconcile"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Start a deployment",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments/{{name}}/start",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments",
+ "{{name}}",
+ "start"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Stop a deployment",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/deployments/{{name}}/stop",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "deployments",
+ "{{name}}",
+ "stop"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List agents",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents?skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents"
+ ],
+ "query": [
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get the agent model resolution",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{agentName}}/model",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{agentName}}",
+ "model"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the agent resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{agentName}}/revisions/{{revisionName}}?force={{force}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{agentName}}",
+ "revisions",
+ "{{revisionName}}"
+ ],
+ "query": [
+ {
+ "key": "force",
+ "value": "{{force}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get agent revision purge impact",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{agentName}}/revisions/{{revisionName}}/purge-impact",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{agentName}}",
+ "revisions",
+ "{{revisionName}}",
+ "purge-impact"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get an agent",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create or update an agent",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022kind\u0022: \u0022\u0022,\n \u0022metadata\u0022: {\n \u0022namespace\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022annotations\u0022: {}\n },\n \u0022definition\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the agent resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/agents/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Route and execute an input",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/routing/invoke",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "routing",
+ "invoke"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022input\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Flows",
+ "item": [
+ {
+ "name": "List Flow Runs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns?flowId={{flowId}}\u0026status={{status}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns"
+ ],
+ "query": [
+ {
+ "key": "flowId",
+ "value": "{{flowId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow Run",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a Flow Run",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Flow Run and its module-owned history were deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Flow Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow Run",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/causality?skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "causality"
+ ],
+ "query": [
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Flow Run events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/eventHistory?afterSequence={{afterSequence}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "eventHistory"
+ ],
+ "query": [
+ {
+ "key": "afterSequence",
+ "value": "{{afterSequence}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Stream Flow Run events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "text/event-stream"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/events",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "events"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nThis request returns a server-sent event stream and remains open while events are produced.\n\nResponses: 200: Server-sent event stream. Reconnect with Last-Event-ID where supported.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Flow Run inputs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/inputs?status={{status}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "inputs"
+ ],
+ "query": [
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow Run input",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/inputs/{{inputId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "inputs",
+ "{{inputId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Respond to a Flow Run input",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flowRuns/{{runId}}/inputs/{{inputId}}/response",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flowRuns",
+ "{{runId}}",
+ "inputs",
+ "{{inputId}}",
+ "response"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022value\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Flows",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows?allNamespaces={{allNamespaces}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows"
+ ],
+ "query": [
+ {
+ "key": "allNamespaces",
+ "value": "{{allNamespaces}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Flow",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022definition\u0022: {\n \u0022flowKind\u0022: \u0022direct\u0022,\n \u0022target\u0022: {\n \u0022kind\u0022: null,\n \u0022id\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022kind\u0022: 0\n },\n \u0022metadata\u0022: {},\n \u0022namespace\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Flow draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/drafts",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "drafts"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022template\u0022: \u0022AgentRouting\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Flow",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022description\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022definition\u0022: {\n \u0022flowKind\u0022: \u0022direct\u0022,\n \u0022target\u0022: {\n \u0022kind\u0022: null,\n \u0022id\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022kind\u0022: 0\n },\n \u0022metadata\u0022: {},\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the Flow",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}?deleteSystemManaged={{deleteSystemManaged}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}"
+ ],
+ "query": [
+ {
+ "key": "deleteSystemManaged",
+ "value": "{{deleteSystemManaged}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Flow was deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow draft",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/draft",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "draft"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Flow draft",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/draft",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "draft"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022definition\u0022: {\n \u0022entryStep\u0022: \u0022\u0022,\n \u0022inputSchema\u0022: \u0022\u0022,\n \u0022steps\u0022: [\n {\n \u0022type\u0022: null,\n \u0022schema\u0022: null,\n \u0022name\u0022: null,\n \u0022displayName\u0022: null,\n \u0022description\u0022: null\n }\n ],\n \u0022transitions\u0022: [\n {\n \u0022id\u0022: \u0022\u0022,\n \u0022fromStep\u0022: \u0022\u0022,\n \u0022event\u0022: \u0022\u0022,\n \u0022toStep\u0022: \u0022\u0022,\n \u0022condition\u0022: \u0022\u0022,\n \u0022priority\u0022: 0\n }\n ],\n \u0022outputSchema\u0022: \u0022\u0022,\n \u0022designer\u0022: {\n \u0022nodePositions\u0022: {},\n \u0022preferredLayout\u0022: \u0022\u0022,\n \u0022viewport\u0022: \u0022\u0022\n }\n },\n \u0022updatedBy\u0022: \u0022local-user\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Run a Flow draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/draft/runs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "draft",
+ "runs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022input\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022deploymentResourceId\u0022: \u0022local\u0022,\n \u0022trigger\u0022: 0,\n \u0022correlationId\u0022: \u0022\u0022,\n \u0022options\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get Flow draft source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/draft/source?format={{format}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "draft",
+ "source"
+ ],
+ "query": [
+ {
+ "key": "format",
+ "value": "{{format}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Replace Flow draft source",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/draft/source",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "draft",
+ "source"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022source\u0022: \u0022\u0022,\n \u0022format\u0022: \u0022yaml\u0022,\n \u0022updatedBy\u0022: \u0022local-user\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Publish a Flow draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/publish",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "publish"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022version\u0022: \u0022\u0022,\n \u0022releaseNotes\u0022: \u0022\u0022,\n \u0022activate\u0022: true\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Flow Runs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/runs?status={{status}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "runs"
+ ],
+ "query": [
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Start a Flow Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/runs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "runs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022input\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022deploymentResourceId\u0022: \u0022local\u0022,\n \u0022trigger\u0022: 0,\n \u0022correlationId\u0022: \u0022\u0022,\n \u0022options\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow Run",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/runs/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "runs",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Flow Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/runs/{{runId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "runs",
+ "{{runId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Validate a Flow draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/validate",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "validate"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List published Flow versions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/versions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "versions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Publish a Flow version",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/versions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "versions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022version\u0022: \u0022\u0022,\n \u0022activate\u0022: true\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Flow version",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/versions/{{version}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "versions",
+ "{{version}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a draft from a published Flow version",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/flows/{{id}}/versions/{{version}}/draft",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "flows",
+ "{{id}}",
+ "versions",
+ "{{version}}",
+ "draft"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Flows",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows?skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows"
+ ],
+ "query": [
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Flow",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022definition\u0022: {\n \u0022flowKind\u0022: \u0022direct\u0022,\n \u0022target\u0022: {\n \u0022kind\u0022: null,\n \u0022id\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022kind\u0022: 0\n },\n \u0022metadata\u0022: {},\n \u0022namespace\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Flow",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Flow",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022description\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022definition\u0022: {\n \u0022flowKind\u0022: \u0022direct\u0022,\n \u0022target\u0022: {\n \u0022kind\u0022: null,\n \u0022id\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022kind\u0022: 0\n },\n \u0022metadata\u0022: {},\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the Flow",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}?deleteSystemManaged={{deleteSystemManaged}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}"
+ ],
+ "query": [
+ {
+ "key": "deleteSystemManaged",
+ "value": "{{deleteSystemManaged}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Flow was deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Flow Runs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}/runs?status={{status}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}",
+ "runs"
+ ],
+ "query": [
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Start a Flow Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}/runs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}",
+ "runs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022input\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022deploymentResourceId\u0022: \u0022local\u0022,\n \u0022trigger\u0022: 0,\n \u0022correlationId\u0022: \u0022\u0022,\n \u0022options\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List published Flow versions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}/versions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}",
+ "versions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Flow version",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/flows/{{id}}/versions/{{version}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "flows",
+ "{{id}}",
+ "versions",
+ "{{version}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Runtime",
+ "item": [
+ {
+ "name": "Prepare an agent runtime",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/agents/{{agentName}}/prepare?generation={{generation}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "agents",
+ "{{agentName}}",
+ "prepare"
+ ],
+ "query": [
+ {
+ "key": "generation",
+ "value": "{{generation}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get agent runtime readiness",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/agents/{{agentName}}/readiness?generation={{generation}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "agents",
+ "{{agentName}}",
+ "readiness"
+ ],
+ "query": [
+ {
+ "key": "generation",
+ "value": "{{generation}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Prepare an agent runtime",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/namespaces/{{namespace}}/agents/{{agentName}}/prepare?generation={{generation}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{agentName}}",
+ "prepare"
+ ],
+ "query": [
+ {
+ "key": "generation",
+ "value": "{{generation}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get agent runtime readiness",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/namespaces/{{namespace}}/agents/{{agentName}}/readiness?generation={{generation}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "namespaces",
+ "{{namespace}}",
+ "agents",
+ "{{agentName}}",
+ "readiness"
+ ],
+ "query": [
+ {
+ "key": "generation",
+ "value": "{{generation}}",
+ "description": null,
+ "disabled": false
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Runtime Runs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs?agentResourceId={{agentResourceId}}\u0026skip={{skip}}\u0026top={{top}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs"
+ ],
+ "query": [
+ {
+ "key": "agentResourceId",
+ "value": "{{agentResourceId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Runtime Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022agent\u0022: {\n \u0022resourceId\u0022: \u0022\u0022,\n \u0022version\u0022: 0,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022input\u0022: {\n \u0022messages\u0022: [\n {\n \u0022role\u0022: \u0022System\u0022,\n \u0022content\u0022: \u0022\u0022\n }\n ],\n \u0022context\u0022: \u0022\u0022\n },\n \u0022execution\u0022: {\n \u0022mode\u0022: \u0022Interactive\u0022,\n \u0022timeoutSeconds\u0022: 0,\n \u0022streaming\u0022: 0,\n \u0022persistToolArguments\u0022: false,\n \u0022parameters\u0022: {}\n },\n \u0022origin\u0022: \u0022Console\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Runtime Run",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a Runtime Run",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Runtime Run and its module-owned history were deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Runtime Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Runtime Run events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}/eventHistory?afterSequence={{afterSequence}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}",
+ "eventHistory"
+ ],
+ "query": [
+ {
+ "key": "afterSequence",
+ "value": "{{afterSequence}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Stream Runtime Run events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "text/event-stream"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}/events",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}",
+ "events"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nThis request returns a server-sent event stream and remains open while events are produced.\n\nResponses: 200: Server-sent event stream. Reconnect with Last-Event-ID where supported.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Retry a Runtime Run",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtime/runs/{{runId}}/retry",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtime",
+ "runs",
+ "{{runId}}",
+ "retry"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List runtime profiles",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a runtime profile",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022runtimeType\u0022: \u0022\u0022,\n \u0022execution\u0022: {\n \u0022sessionMode\u0022: 0,\n \u0022toolInvocation\u0022: 0,\n \u0022streaming\u0022: 0\n },\n \u0022runtimeOptions\u0022: {}\n },\n \u0022namespace\u0022: \u0022default\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a runtime profile",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a runtime profile",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022runtimeType\u0022: \u0022\u0022,\n \u0022execution\u0022: {\n \u0022sessionMode\u0022: 0,\n \u0022toolInvocation\u0022: 0,\n \u0022streaming\u0022: 0\n },\n \u0022runtimeOptions\u0022: {}\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List runtime profile usages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/runtimeprofiles/{{profileName}}/usages?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "runtimeprofiles",
+ "{{profileName}}",
+ "usages"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Work",
+ "item": [
+ {
+ "name": "List Work Items",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems?skip={{skip}}\u0026top={{top}}\u0026status={{status}}\u0026type={{type}}\u0026requester={{requester}}\u0026agent={{agent}}\u0026createdFrom={{createdFrom}}\u0026createdTo={{createdTo}}\u0026sortBy={{sortBy}}\u0026sortDirection={{sortDirection}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems"
+ ],
+ "query": [
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "top",
+ "value": "{{top}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "type",
+ "value": "{{type}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "requester",
+ "value": "{{requester}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "agent",
+ "value": "{{agent}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "createdFrom",
+ "value": "{{createdFrom}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "createdTo",
+ "value": "{{createdTo}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "sortBy",
+ "value": "{{sortBy}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "sortDirection",
+ "value": "{{sortDirection}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Work Item",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022type\u0022: \u0022\u0022,\n \u0022instruction\u0022: \u0022\u0022,\n \u0022title\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022requesterIdentity\u0022: \u0022\u0022,\n \u0022correlationId\u0022: \u0022\u0022,\n \u0022requestedAgentId\u0022: \u0022\u0022,\n \u0022metadata\u0022: {},\n \u0022inputs\u0022: [\n {\n \u0022text\u0022: \u0022\u0022,\n \u0022structured\u0022: \u0022\u0022,\n \u0022metadata\u0022: {}\n }\n ],\n \u0022attachments\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022uri\u0022: \u0022\u0022,\n \u0022mediaType\u0022: \u0022\u0022,\n \u0022size\u0022: 0,\n \u0022metadata\u0022: {}\n }\n ],\n \u0022flow\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Work Item",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Submit a Work Item approval",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/approval",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "approval"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022decision\u0022: 0,\n \u0022authorId\u0022: \u0022\u0022,\n \u0022comment\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Work Item",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Work Item events",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/events",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "events"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nThis request returns a server-sent event stream and remains open while events are produced.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Provide Work Item input",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/input",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "input"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022text\u0022: \u0022\u0022,\n \u0022structured\u0022: \u0022\u0022,\n \u0022authorId\u0022: \u0022\u0022,\n \u0022metadata\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Add a Work Item message",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/messages",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "messages"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022content\u0022: \u0022\u0022,\n \u0022authorId\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get the Work Item result",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/work/workitems/{{workItemId}}/result",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "work",
+ "workitems",
+ "{{workItemId}}",
+ "result"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Work operations",
+ "item": [
+ {
+ "name": "List operational Tasks",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks?status={{status}}\u0026search={{search}}\u0026hasPendingAction={{hasPendingAction}}\u0026page={{page}}\u0026pageSize={{pageSize}}\u0026sort={{sort}}\u0026direction={{direction}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks"
+ ],
+ "query": [
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "search",
+ "value": "{{search}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "hasPendingAction",
+ "value": "{{hasPendingAction}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "page",
+ "value": "{{page}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "pageSize",
+ "value": "{{pageSize}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "sort",
+ "value": "{{sort}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "direction",
+ "value": "{{direction}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get operational Task counters",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/summary",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "summary"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get operational Task details",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get operational Task details",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Task activities",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/activities",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "activities"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Task artifacts",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/artifacts",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "artifacts"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Task Flow Runs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/flow-runs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "flow-runs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Task Flow Run",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/flow-runs/{{runId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "flow-runs",
+ "{{runId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Pause a Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/pause",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "pause"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Task pending actions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/pending-actions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "pending-actions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Respond to a Task pending action",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/pending-actions/{{actionId}}/respond",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "pending-actions",
+ "{{actionId}}",
+ "respond"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022values\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Task results",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/results",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "results"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Resume a Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tasks/{{taskId}}/resume",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tasks",
+ "{{taskId}}",
+ "resume"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Workplace",
+ "item": [
+ {
+ "name": "List published Entries",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/entries",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "entries"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Entry",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Entry drafts",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get an Entry draft",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update an Entry draft",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022workspaceId\u0022: {\n \u0022value\u0022: \u002200000000-0000-0000-0000-000000000000\u0022\n },\n \u0022id\u0022: {\n \u0022value\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022name\u0022: \u0022\u0022,\n \u0022type\u0022: \u0022\u0022,\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022presentation\u0022: {\n \u0022kind\u0022: 0,\n \u0022placeholder\u0022: \u0022\u0022,\n \u0022icon\u0022: \u0022\u0022,\n \u0022allowAttachments\u0022: false,\n \u0022allowVoiceInput\u0022: false,\n \u0022suggestions\u0022: [\n {\n \u0022label\u0022: \u0022\u0022,\n \u0022value\u0022: \u0022\u0022\n }\n ],\n \u0022fields\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022type\u0022: 0,\n \u0022label\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022placeholder\u0022: \u0022\u0022,\n \u0022required\u0022: false,\n \u0022defaultValue\u0022: \u0022\u0022,\n \u0022options\u0022: [\n null\n ],\n \u0022order\u0022: 0,\n \u0022validation\u0022: \u0022\u0022,\n \u0022role\u0022: 0\n }\n ],\n \u0022participants\u0022: {\n \u0022visibility\u0022: 0\n },\n \u0022progress\u0022: {\n \u0022visibility\u0022: 1\n },\n \u0022task\u0022: {\n \u0022display\u0022: 0\n },\n \u0022results\u0022: {\n \u0022display\u0022: 0\n }\n },\n \u0022binding\u0022: {\n \u0022kind\u0022: 0,\n \u0022resourceId\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022publishedBinding\u0022: \u0022\u0022,\n \u0022behavior\u0022: {\n \u0022taskCreationMode\u0022: 0,\n \u0022allowConversation\u0022: true,\n \u0022streamResponse\u0022: true,\n \u0022conversation\u0022: \u0022\u0022\n },\n \u0022revision\u0022: 0,\n \u0022updatedAt\u0022: \u00222026-01-01T00:00:00Z\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete an Entry",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}?removeDashboardReferences={{removeDashboardReferences}}\u0026closeInteractions={{closeInteractions}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ],
+ "query": [
+ {
+ "key": "removeDashboardReferences",
+ "value": "{{removeDashboardReferences}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "closeInteractions",
+ "value": "{{closeInteractions}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Entry draft and published resource were deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Entry dependencies",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}/dependencies",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}",
+ "dependencies"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Publish an Entry draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}/publish",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}",
+ "publish"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Validate an Entry draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/entries/{{entryName}}/validate",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "entries",
+ "{{entryName}}",
+ "validate"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List dashboard drafts",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/workspaces/{{workspaceName}}/dashboards",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a dashboard draft",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/workspaces/{{workspaceName}}/dashboards/{{dashboardName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards",
+ "{{dashboardName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a dashboard draft",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/workspaces/{{workspaceName}}/dashboards/{{dashboardName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards",
+ "{{dashboardName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022id\u0022: {\n \u0022value\u0022: \u0022\u0022\n },\n \u0022workspaceId\u0022: {\n \u0022value\u0022: \u002200000000-0000-0000-0000-000000000000\u0022\n },\n \u0022name\u0022: \u0022\u0022,\n \u0022type\u0022: \u0022\u0022,\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022icon\u0022: \u0022\u0022,\n \u0022isDefault\u0022: false,\n \u0022entries\u0022: [\n {\n \u0022entryResourceId\u0022: {\n \u0022value\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022role\u0022: 0,\n \u0022order\u0022: 0\n }\n ],\n \u0022revision\u0022: 0,\n \u0022updatedAt\u0022: \u00222026-01-01T00:00:00Z\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a dashboard draft",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/workspaces/{{workspaceName}}/dashboards/{{dashboardName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards",
+ "{{dashboardName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Publish a dashboard draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/management/workspaces/{{workspaceName}}/dashboards/{{dashboardName}}/publish",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "management",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards",
+ "{{dashboardName}}",
+ "publish"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Entry",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get an Entry draft",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/management/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update an Entry draft",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/management/entries/{{entryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022workspaceId\u0022: {\n \u0022value\u0022: \u002200000000-0000-0000-0000-000000000000\u0022\n },\n \u0022id\u0022: {\n \u0022value\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022name\u0022: \u0022\u0022,\n \u0022type\u0022: \u0022\u0022,\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022presentation\u0022: {\n \u0022kind\u0022: 0,\n \u0022placeholder\u0022: \u0022\u0022,\n \u0022icon\u0022: \u0022\u0022,\n \u0022allowAttachments\u0022: false,\n \u0022allowVoiceInput\u0022: false,\n \u0022suggestions\u0022: [\n {\n \u0022label\u0022: \u0022\u0022,\n \u0022value\u0022: \u0022\u0022\n }\n ],\n \u0022fields\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022type\u0022: 0,\n \u0022label\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022placeholder\u0022: \u0022\u0022,\n \u0022required\u0022: false,\n \u0022defaultValue\u0022: \u0022\u0022,\n \u0022options\u0022: [\n null\n ],\n \u0022order\u0022: 0,\n \u0022validation\u0022: \u0022\u0022,\n \u0022role\u0022: 0\n }\n ],\n \u0022participants\u0022: {\n \u0022visibility\u0022: 0\n },\n \u0022progress\u0022: {\n \u0022visibility\u0022: 1\n },\n \u0022task\u0022: {\n \u0022display\u0022: 0\n },\n \u0022results\u0022: {\n \u0022display\u0022: 0\n }\n },\n \u0022binding\u0022: {\n \u0022kind\u0022: 0,\n \u0022resourceId\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022publishedBinding\u0022: \u0022\u0022,\n \u0022behavior\u0022: {\n \u0022taskCreationMode\u0022: 0,\n \u0022allowConversation\u0022: true,\n \u0022streamResponse\u0022: true,\n \u0022conversation\u0022: \u0022\u0022\n },\n \u0022revision\u0022: 0,\n \u0022updatedAt\u0022: \u00222026-01-01T00:00:00Z\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete an Entry",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/management/entries/{{entryName}}?removeDashboardReferences={{removeDashboardReferences}}\u0026closeInteractions={{closeInteractions}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "management",
+ "entries",
+ "{{entryName}}"
+ ],
+ "query": [
+ {
+ "key": "removeDashboardReferences",
+ "value": "{{removeDashboardReferences}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "closeInteractions",
+ "value": "{{closeInteractions}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The Entry draft and published resource were deleted.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Entry dependencies",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/management/entries/{{entryName}}/dependencies",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "management",
+ "entries",
+ "{{entryName}}",
+ "dependencies"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Publish an Entry draft",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/management/entries/{{entryName}}/publish",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "management",
+ "entries",
+ "{{entryName}}",
+ "publish"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace workspaces",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workplace/workspaces",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workplace",
+ "workspaces"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Workplace workspace",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Workplace dashboard",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/dashboard",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboard"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace dashboards",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/dashboards",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Workplace dashboard",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/dashboards/{{dashboardName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "dashboards",
+ "{{dashboardName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Submit an Entry interaction",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/entries/{{entryName}}/interactions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "entries",
+ "{{entryName}}",
+ "interactions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022values\u0022: {},\n \u0022attachments\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022uri\u0022: \u0022\u0022,\n \u0022mediaType\u0022: \u0022\u0022,\n \u0022size\u0022: 0,\n \u0022metadata\u0022: {}\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace interactions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions?take={{take}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions"
+ ],
+ "query": [
+ {
+ "key": "take",
+ "value": "{{take}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Workplace interaction",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions/{{interactionId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions",
+ "{{interactionId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List conversation messages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions/{{interactionId}}/messages",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions",
+ "{{interactionId}}",
+ "messages"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Add a conversation message",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions/{{interactionId}}/messages",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions",
+ "{{interactionId}}",
+ "messages"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022content\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List pending actions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions/{{interactionId}}/pending-actions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions",
+ "{{interactionId}}",
+ "pending-actions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Respond to a pending action",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/interactions/{{interactionId}}/pending-actions/{{pendingActionId}}/responses",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "interactions",
+ "{{interactionId}}",
+ "pending-actions",
+ "{{pendingActionId}}",
+ "responses"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022resumeToken\u0022: \u0022\u0022,\n \u0022values\u0022: {}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Submit an Entry interaction",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/namespaces/{{namespace}}/entries/{{entryName}}/interactions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "namespaces",
+ "{{namespace}}",
+ "entries",
+ "{{entryName}}",
+ "interactions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022values\u0022: {},\n \u0022attachments\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022uri\u0022: \u0022\u0022,\n \u0022mediaType\u0022: \u0022\u0022,\n \u0022size\u0022: 0,\n \u0022metadata\u0022: {}\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace notifications",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/notifications?unreadOnly={{unreadOnly}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "notifications"
+ ],
+ "query": [
+ {
+ "key": "unreadOnly",
+ "value": "{{unreadOnly}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Mark all notifications as read",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/notifications/read-all",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "notifications",
+ "read-all"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get unread notification count",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/notifications/unread-count",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "notifications",
+ "unread-count"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Mark a notification as read",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/notifications/{{notificationId}}/read",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "notifications",
+ "{{notificationId}}",
+ "read"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace Tasks",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks?status={{status}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks"
+ ],
+ "query": [
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Workplace Task",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace Task activities",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/activities",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "activities"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace Task artifacts",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/artifacts",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "artifacts"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Download a Workplace Task artifact",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/octet-stream"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/artifacts/{{artifactId}}/content",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "artifacts",
+ "{{artifactId}}",
+ "content"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: Binary content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Cancel a Workplace Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/cancel",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "cancel"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Pause a Workplace Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/pause",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "pause"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Workplace Task results",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/results",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "results"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Resume a Workplace Task",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/workspaces/{{workspaceName}}/tasks/{{taskId}}/resume",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "workspaces",
+ "{{workspaceName}}",
+ "tasks",
+ "{{taskId}}",
+ "resume"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Model management",
+ "item": [
+ {
+ "name": "List model profiles",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles?provider={{provider}}\u0026model={{model}}\u0026status={{status}}\u0026search={{search}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles"
+ ],
+ "query": [
+ {
+ "key": "provider",
+ "value": "{{provider}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "model",
+ "value": "{{model}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "status",
+ "value": "{{status}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "search",
+ "value": "{{search}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a model profile",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022provider\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022model\u0022: {\n \u0022name\u0022: \u0022\u0022\n },\n \u0022generation\u0022: {\n \u0022temperature\u0022: 0,\n \u0022topP\u0022: 0,\n \u0022topK\u0022: 0,\n \u0022maxOutputTokens\u0022: 0,\n \u0022seed\u0022: 0,\n \u0022stopSequences\u0022: [\n \u0022\u0022\n ]\n },\n \u0022reasoning\u0022: {\n \u0022mode\u0022: 0,\n \u0022effort\u0022: \u0022\u0022\n },\n \u0022output\u0022: {\n \u0022format\u0022: 0,\n \u0022jsonSchema\u0022: \u0022\u0022,\n \u0022strict\u0022: false\n },\n \u0022providerOptions\u0022: {}\n },\n \u0022namespace\u0022: \u0022default\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a model profile",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a model profile",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022provider\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022model\u0022: {\n \u0022name\u0022: \u0022\u0022\n },\n \u0022generation\u0022: {\n \u0022temperature\u0022: 0,\n \u0022topP\u0022: 0,\n \u0022topK\u0022: 0,\n \u0022maxOutputTokens\u0022: 0,\n \u0022seed\u0022: 0,\n \u0022stopSequences\u0022: [\n \u0022\u0022\n ]\n },\n \u0022reasoning\u0022: {\n \u0022mode\u0022: 0,\n \u0022effort\u0022: \u0022\u0022\n },\n \u0022output\u0022: {\n \u0022format\u0022: 0,\n \u0022jsonSchema\u0022: \u0022\u0022,\n \u0022strict\u0022: false\n },\n \u0022providerOptions\u0022: {}\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Migrate model profile options",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}/option-migrations/apply?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}",
+ "option-migrations",
+ "apply"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022targetVersion\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Migrate model profile options",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}/option-migrations/preview?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}",
+ "option-migrations",
+ "preview"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022targetVersion\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Resolve a model profile",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}/resolution?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}",
+ "resolution"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List model profile usages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelprofiles/{{profileName}}/usages?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelprofiles",
+ "{{profileName}}",
+ "usages"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List model providers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a model provider",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022extension\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022contributionId\u0022: \u0022\u0022\n },\n \u0022namespace\u0022: \u0022default\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a model provider",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a model provider",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022extension\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022contributionId\u0022: \u0022\u0022\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List provider models",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}/models?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}",
+ "models"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get model provider status",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}/status?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}",
+ "status"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get model provider status",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}/test?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}",
+ "test"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List model provider usages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/modelproviders/{{providerName}}/usages?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "modelproviders",
+ "{{providerName}}",
+ "usages"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Extensions",
+ "item": [
+ {
+ "name": "List extension registrations",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensionregistrations",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensionregistrations"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create an extension registration",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensionregistrations",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensionregistrations"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022endpoint\u0022: \u0022https://example.invalid/\u0022,\n \u0022enabled\u0022: false,\n \u0022expectedExtensionId\u0022: \u0022\u0022,\n \u0022source\u0022: \u0022manual\u0022,\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022enrollmentMode\u0022: \u0022disabled\u0022,\n \u0022credential\u0022: \u0022\u0022\n },\n \u0022namespace\u0022: \u0022default\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get an extension registration",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensionregistrations/{{registrationName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensionregistrations",
+ "{{registrationName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update an extension registration",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensionregistrations/{{registrationName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensionregistrations",
+ "{{registrationName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022endpoint\u0022: \u0022https://example.invalid/\u0022,\n \u0022enabled\u0022: false,\n \u0022expectedExtensionId\u0022: \u0022\u0022,\n \u0022source\u0022: \u0022manual\u0022,\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022enrollmentMode\u0022: \u0022disabled\u0022,\n \u0022credential\u0022: \u0022\u0022\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensionregistrations/{{registrationName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensionregistrations",
+ "{{registrationName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List extensions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List extension inventory",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/extensions/inventory",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "extensions",
+ "inventory"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Source providers",
+ "item": [
+ {
+ "name": "List Source Providers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Source Provider",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022extension\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022contributionId\u0022: \u0022\u0022\n },\n \u0022namespace\u0022: \u0022default\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source Provider",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}\u0026scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Source Provider",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}\u0026scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022extension\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022contributionId\u0022: \u0022\u0022\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders/{{providerName}}?resourceNamespace={{resourceNamespace}}\u0026scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders",
+ "{{providerName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get Source Provider status",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders/{{providerName}}/status?resourceNamespace={{resourceNamespace}}\u0026scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders",
+ "{{providerName}}",
+ "status"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Source Provider usages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceproviders/{{providerName}}/usages?resourceNamespace={{resourceNamespace}}\u0026scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceproviders",
+ "{{providerName}}",
+ "usages"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Sources",
+ "item": [
+ {
+ "name": "List Sources",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Import a Source Version",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/imports/url",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "imports",
+ "url"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022url\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Import a Source Version",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/imports/yaml",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "imports",
+ "yaml"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022manifest\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Source display name",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/display-name?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "display-name"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022displayName\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Refresh a Source definition from its retained origin",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/refresh?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "refresh"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update independent Source and Channel refresh policies",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/refresh-policy?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "refresh-policy"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022refresh\u0022: {\n \u0022source\u0022: {\n \u0022enabled\u0022: false,\n \u0022intervalSeconds\u0022: 0,\n \u0022timeoutSeconds\u0022: 0,\n \u0022maximumAttempts\u0022: 0,\n \u0022initialBackoffSeconds\u0022: 0,\n \u0022maximumBackoffSeconds\u0022: 0,\n \u0022jitterSeconds\u0022: 0\n },\n \u0022channels\u0022: {\n \u0022enabled\u0022: false,\n \u0022intervalSeconds\u0022: 0,\n \u0022timeoutSeconds\u0022: 0,\n \u0022maximumAttempts\u0022: 0,\n \u0022initialBackoffSeconds\u0022: 0,\n \u0022maximumBackoffSeconds\u0022: 0,\n \u0022jitterSeconds\u0022: 0\n },\n \u0022channelOverrides\u0022: {}\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List immutable Source Versions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get an immutable Source Version",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get Source Provider binding status",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/bindings?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "bindings"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Configure Source Provider bindings",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/bindings?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "bindings"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022bindings\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022targetKind\u0022: \u0022\u0022,\n \u0022target\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n }\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/refresh?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "refresh"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots/{{snapshotUid}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots",
+ "{{snapshotUid}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots/{{snapshotUid}}/catalogs?scopeRef={{scopeRef}}\u0026locale={{locale}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots",
+ "{{snapshotUid}}",
+ "catalogs"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "locale",
+ "value": "{{locale}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Entry",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots/{{snapshotUid}}/pack-catalogs/{{catalog}}/entries/{{entry}}/install?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots",
+ "{{snapshotUid}}",
+ "pack-catalogs",
+ "{{catalog}}",
+ "entries",
+ "{{entry}}",
+ "install"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022expectedPreviewDigest\u0022: \u0022\u0022,\n \u0022replaceExisting\u0022: false,\n \u0022bindings\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022target\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n }\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a published Entry",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots/{{snapshotUid}}/pack-catalogs/{{catalog}}/entries/{{entry}}/preview?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots",
+ "{{snapshotUid}}",
+ "pack-catalogs",
+ "{{catalog}}",
+ "entries",
+ "{{entry}}",
+ "preview"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022replaceExisting\u0022: false,\n \u0022bindings\u0022: [\n {\n \u0022name\u0022: \u0022\u0022,\n \u0022target\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n }\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get Source Channel Snapshot verification",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/snapshots/{{snapshotUid}}/verification?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "snapshots",
+ "{{snapshotUid}}",
+ "verification"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get Source Channel status",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/channels/{{channel}}/status?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "channels",
+ "{{channel}}",
+ "status"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get Source Version verification",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sources/{{publisher}}/{{name}}/versions/{{versionUid}}/verification?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sources",
+ "{{publisher}}",
+ "{{name}}",
+ "versions",
+ "{{versionUid}}",
+ "verification"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Source registries",
+ "item": [
+ {
+ "name": "List Source registries",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Source registries",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022indexUrl\u0022: \u0022https://example.invalid/\u0022,\n \u0022enabled\u0022: false,\n \u0022trustPolicy\u0022: \u0022untrusted\u0022,\n \u0022endpointPolicy\u0022: {\n \u0022allowHttp\u0022: false,\n \u0022allowPrivateNetwork\u0022: false\n },\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022credential\u0022: \u0022\u0022,\n \u0022refreshPolicy\u0022: {\n \u0022periodicEnabled\u0022: false,\n \u0022interval\u0022: \u0022\u0022,\n \u0022timeout\u0022: \u0022\u0022,\n \u0022maximumAttempts\u0022: 0,\n \u0022initialBackoff\u0022: \u0022\u0022,\n \u0022maximumBackoff\u0022: \u0022\u0022,\n \u0022jitter\u0022: \u0022\u0022,\n \u0022staleAfter\u0022: \u0022\u0022\n },\n \u0022cachePolicy\u0022: {\n \u0022retainedObservations\u0022: 0\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Discover Sources across registries",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/discovery?search={{search}}\u0026publisher={{publisher}}\u0026registry={{registry}}\u0026compatibleOnly={{compatibleOnly}}\u0026freshOnly={{freshOnly}}\u0026conflictsOnly={{conflictsOnly}}\u0026trustPolicy={{trustPolicy}}\u0026publisherStatus={{publisherStatus}}\u0026verificationStatus={{verificationStatus}}\u0026skip={{skip}}\u0026take={{take}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "discovery"
+ ],
+ "query": [
+ {
+ "key": "search",
+ "value": "{{search}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "publisher",
+ "value": "{{publisher}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "registry",
+ "value": "{{registry}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "compatibleOnly",
+ "value": "{{compatibleOnly}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "freshOnly",
+ "value": "{{freshOnly}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "conflictsOnly",
+ "value": "{{conflictsOnly}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "trustPolicy",
+ "value": "{{trustPolicy}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "publisherStatus",
+ "value": "{{publisherStatus}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "verificationStatus",
+ "value": "{{verificationStatus}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "skip",
+ "value": "{{skip}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "take",
+ "value": "{{take}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Import an exact registry observation",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/discovery/imports",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "discovery",
+ "imports"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022selection\u0022: {\n \u0022registrationUid\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022observationId\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022catalogName\u0022: \u0022\u0022,\n \u0022publisher\u0022: \u0022\u0022,\n \u0022sourceName\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022\n },\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List discovered publishers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/discovery/publishers",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "discovery",
+ "publishers"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get discovered Source observations",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/discovery/sources/{{publisher}}/{{sourceName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "discovery",
+ "sources",
+ "{{publisher}}",
+ "{{sourceName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Evaluate Source registry evidence",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/trust/sources/{{publisher}}/{{sourceName}}/versions/{{version}}?manifestDigest={{manifestDigest}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "trust",
+ "sources",
+ "{{publisher}}",
+ "{{sourceName}}",
+ "versions",
+ "{{version}}"
+ ],
+ "query": [
+ {
+ "key": "manifestDigest",
+ "value": "{{manifestDigest}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Source registry",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Source registry",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022indexUrl\u0022: \u0022https://example.invalid/\u0022,\n \u0022enabled\u0022: false,\n \u0022trustPolicy\u0022: \u0022untrusted\u0022,\n \u0022endpointPolicy\u0022: {\n \u0022allowHttp\u0022: false,\n \u0022allowPrivateNetwork\u0022: false\n },\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022credential\u0022: \u0022\u0022,\n \u0022refreshPolicy\u0022: {\n \u0022periodicEnabled\u0022: false,\n \u0022interval\u0022: \u0022\u0022,\n \u0022timeout\u0022: \u0022\u0022,\n \u0022maximumAttempts\u0022: 0,\n \u0022initialBackoff\u0022: \u0022\u0022,\n \u0022maximumBackoff\u0022: \u0022\u0022,\n \u0022jitter\u0022: \u0022\u0022,\n \u0022staleAfter\u0022: \u0022\u0022\n },\n \u0022cachePolicy\u0022: {\n \u0022retainedObservations\u0022: 0\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Source registry",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Refresh a Source registry",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}/refresh",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}",
+ "refresh"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Source registry refreshes",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}/refreshes?take={{take}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}",
+ "refreshes"
+ ],
+ "query": [
+ {
+ "key": "take",
+ "value": "{{take}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Evaluate Source registry origin trust",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/sourceregistries/{{registryName}}/trust",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "sourceregistries",
+ "{{registryName}}",
+ "trust"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Packs",
+ "item": [
+ {
+ "name": "List Pack Projects",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Pack Project",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022publisher\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022audience\u0022: \u0022universal\u0022,\n \u0022purpose\u0022: \u0022standard\u0022,\n \u0022categories\u0022: [\n \u0022\u0022\n ],\n \u0022tags\u0022: [\n \u0022\u0022\n ],\n \u0022resources\u0022: [\n {\n \u0022kind\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022default\u0022\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Preview Pack composition",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/composer/preview",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "composer",
+ "preview"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022resources\u0022: [\n {\n \u0022kind\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022default\u0022\n }\n ]\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Pack composition resources",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/composer/resources",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "composer",
+ "resources"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Pack Project",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Pack Project",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022version\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022categories\u0022: [\n \u0022\u0022\n ],\n \u0022tags\u0022: [\n \u0022\u0022\n ],\n \u0022audience\u0022: \u0022\u0022,\n \u0022purpose\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Pack Project builds",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/builds",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "builds"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Build a Pack Project",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/builds",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "builds"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Download a Pack build",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/zip"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/builds/{{buildId}}/download",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "builds",
+ "{{buildId}}",
+ "download"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: Pack build ZIP archive.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Install a Pack build",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/builds/{{buildId}}/install?replaceExisting={{replaceExisting}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "builds",
+ "{{buildId}}",
+ "install"
+ ],
+ "query": [
+ {
+ "key": "replaceExisting",
+ "value": "{{replaceExisting}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Preview a Pack build installation",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/builds/{{buildId}}/preview",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "builds",
+ "{{buildId}}",
+ "preview"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Pack Project",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/resources",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "resources"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Pack Project",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/pack-projects/{{projectId}}/resources",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "pack-projects",
+ "{{projectId}}",
+ "resources"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022path\u0022: \u0022\u0022,\n \u0022source\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List installed Packs",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Install a Pack",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "disabled": true
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs?replaceExisting={{replaceExisting}}\u0026removeDashboardReferences={{removeDashboardReferences}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs"
+ ],
+ "query": [
+ {
+ "key": "replaceExisting",
+ "value": "{{replaceExisting}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "removeDashboardReferences",
+ "value": "{{removeDashboardReferences}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "archive",
+ "type": "file",
+ "src": [],
+ "value": null
+ },
+ {
+ "key": "bindings",
+ "type": "text",
+ "src": null,
+ "value": ""
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Preview a Pack installation",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "disabled": true
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/preview",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "preview"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "archive",
+ "type": "file",
+ "src": [],
+ "value": null
+ },
+ {
+ "key": "bindings",
+ "type": "text",
+ "src": null,
+ "value": ""
+ }
+ ]
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get an installed Pack",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/{{publisher}}/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "{{publisher}}",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Uninstall a Pack",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/{{publisher}}/{{name}}?removeDashboardReferences={{removeDashboardReferences}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "{{publisher}}",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "removeDashboardReferences",
+ "value": "{{removeDashboardReferences}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Fork an installed Pack",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/{{publisher}}/{{name}}/fork",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "{{publisher}}",
+ "{{name}}",
+ "fork"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022publisher\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022audience\u0022: \u0022\u0022,\n \u0022purpose\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Attach Pack source",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/{{publisher}}/{{name}}/resources/source",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "{{publisher}}",
+ "{{name}}",
+ "resources",
+ "source"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Attach Pack source",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "multipart/form-data",
+ "disabled": true
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/packs/{{publisher}}/{{name}}/source",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "packs",
+ "{{publisher}}",
+ "{{name}}",
+ "source"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "formdata",
+ "formdata": [
+ {
+ "key": "archive",
+ "type": "file",
+ "src": [],
+ "value": null
+ },
+ {
+ "key": "bindings",
+ "type": "text",
+ "src": null,
+ "value": ""
+ }
+ ]
+ }
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Tools",
+ "item": [
+ {
+ "name": "List ToolDefinitions",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions?namespace={{namespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions"
+ ],
+ "query": [
+ {
+ "key": "namespace",
+ "value": "{{namespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a ToolDefinition",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: Created; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022requiresApproval\u0022: false,\n \u0022inputSchema\u0022: \u0022\u0022,\n \u0022outputSchema\u0022: \u0022\u0022,\n \u0022flow\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022useActiveVersion\u0022: false\n },\n \u0022invocationTimeoutSeconds\u0022: 0\n },\n \u0022namespace\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a ToolDefinition",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions/{{name}}?namespace={{namespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "namespace",
+ "value": "{{namespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a ToolDefinition",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions/{{name}}?namespace={{namespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "namespace",
+ "value": "{{namespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022requiresApproval\u0022: false,\n \u0022inputSchema\u0022: \u0022\u0022,\n \u0022outputSchema\u0022: \u0022\u0022,\n \u0022flow\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022,\n \u0022version\u0022: \u0022\u0022,\n \u0022useActiveVersion\u0022: false\n },\n \u0022invocationTimeoutSeconds\u0022: 0\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a ToolDefinition",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions/{{name}}?namespace={{namespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "namespace",
+ "value": "{{namespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: No Content; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Enable or disable a ToolDefinition",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tooldefinitions/{{name}}/enabled?namespace={{namespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tooldefinitions",
+ "{{name}}",
+ "enabled"
+ ],
+ "query": [
+ {
+ "key": "namespace",
+ "value": "{{namespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: OK; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022enabled\u0022: false\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "List Tool execution hooks",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolexecutionhooks",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolexecutionhooks"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Tool execution hook",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolexecutionhooks",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolexecutionhooks"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022order\u0022: 0,\n \u0022handler\u0022: \u0022\u0022,\n \u0022selector\u0022: {\n \u0022tools\u0022: [\n \u0022\u0022\n ],\n \u0022providers\u0022: [\n \u0022\u0022\n ],\n \u0022agents\u0022: [\n \u0022\u0022\n ]\n },\n \u0022configuration\u0022: {}\n },\n \u0022namespace\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Tool execution hook",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolexecutionhooks/{{hookName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolexecutionhooks",
+ "{{hookName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Tool execution hook",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolexecutionhooks/{{hookName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolexecutionhooks",
+ "{{hookName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022order\u0022: 0,\n \u0022handler\u0022: \u0022\u0022,\n \u0022selector\u0022: {\n \u0022tools\u0022: [\n \u0022\u0022\n ],\n \u0022providers\u0022: [\n \u0022\u0022\n ],\n \u0022agents\u0022: [\n \u0022\u0022\n ]\n },\n \u0022configuration\u0022: {}\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolexecutionhooks/{{hookName}}?resourceNamespace={{resourceNamespace}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolexecutionhooks",
+ "{{hookName}}"
+ ],
+ "query": [
+ {
+ "key": "resourceNamespace",
+ "value": "{{resourceNamespace}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Tool Providers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Tool Provider",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022providerType\u0022: 0,\n \u0022enabled\u0022: false,\n \u0022aep\u0022: \u0022\u0022,\n \u0022mcp\u0022: \u0022\u0022,\n \u0022discovery\u0022: {\n \u0022lastDiscoveryAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022status\u0022: \u0022\u0022,\n \u0022errorCode\u0022: \u0022\u0022,\n \u0022errorMessage\u0022: \u0022\u0022,\n \u0022toolCount\u0022: 0,\n \u0022capabilities\u0022: {},\n \u0022serverMetadata\u0022: {}\n }\n },\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Tool Provider",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders/{{providerName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders",
+ "{{providerName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Update a Tool Provider",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders/{{providerName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders",
+ "{{providerName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022providerType\u0022: 0,\n \u0022enabled\u0022: false,\n \u0022aep\u0022: \u0022\u0022,\n \u0022mcp\u0022: \u0022\u0022,\n \u0022discovery\u0022: {\n \u0022lastDiscoveryAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022status\u0022: \u0022\u0022,\n \u0022errorCode\u0022: \u0022\u0022,\n \u0022errorMessage\u0022: \u0022\u0022,\n \u0022toolCount\u0022: 0,\n \u0022capabilities\u0022: {},\n \u0022serverMetadata\u0022: {}\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Refresh a Tool Provider catalog",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders/{{providerName}}/refresh",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders",
+ "{{providerName}}",
+ "refresh"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Test a Tool Provider connection",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders/{{providerName}}/test",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders",
+ "{{providerName}}",
+ "test"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Tool Provider tools",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/toolproviders/{{providerName}}/tools",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "toolproviders",
+ "{{providerName}}",
+ "tools"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Tools",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tools?enabled={{enabled}}\u0026available={{available}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tools"
+ ],
+ "query": [
+ {
+ "key": "enabled",
+ "value": "{{enabled}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "available",
+ "value": "{{available}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Tool",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tools/{{toolName}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tools",
+ "{{toolName}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Tool",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tools/{{toolName}}/enabled",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tools",
+ "{{toolName}}",
+ "enabled"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022enabled\u0022: false\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Tool governance",
+ "item": [
+ {
+ "name": "List tool governance audit records",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/tool-governance/{{ownerKind}}/{{runId}}?afterSequence={{afterSequence}}\u0026limit={{limit}}\u0026toolCallId={{toolCallId}}\u0026invocationId={{invocationId}}\u0026toolId={{toolId}}\u0026hookId={{hookId}}\u0026resourceGeneration={{resourceGeneration}}\u0026decision={{decision}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "tool-governance",
+ "{{ownerKind}}",
+ "{{runId}}"
+ ],
+ "query": [
+ {
+ "key": "afterSequence",
+ "value": "{{afterSequence}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "limit",
+ "value": "{{limit}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "toolCallId",
+ "value": "{{toolCallId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "invocationId",
+ "value": "{{invocationId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "toolId",
+ "value": "{{toolId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "hookId",
+ "value": "{{hookId}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "resourceGeneration",
+ "value": "{{resourceGeneration}}",
+ "description": null,
+ "disabled": true
+ },
+ {
+ "key": "decision",
+ "value": "{{decision}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Secrets",
+ "item": [
+ {
+ "name": "List Secrets",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Secret",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022vault\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022key\u0022: \u0022\u0022,\n \u0022secretType\u0022: \u0022opaque\u0022\n },\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Secret",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Secret",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022vault\u0022: {\n \u0022name\u0022: \u0022\u0022,\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022namespace\u0022: \u0022\u0022\n },\n \u0022key\u0022: \u0022\u0022,\n \u0022secretType\u0022: \u0022opaque\u0022\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Secret usages",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}/usages?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}",
+ "usages"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Set a Secret value",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}/value?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}",
+ "value"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022value\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/secrets/{{name}}/value?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "secrets",
+ "{{name}}",
+ "value"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Vaults",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create a Vault",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 201: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022providerType\u0022: \u0022\u0022,\n \u0022providerOptions\u0022: {}\n },\n \u0022scopeRef\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Vault",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get or update a Vault",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022providerType\u0022: \u0022\u0022,\n \u0022providerOptions\u0022: {}\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete the resource",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults/{{name}}?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults",
+ "{{name}}"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Initialize a Vault",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/vaults/{{name}}/initialize?scopeRef={{scopeRef}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "vaults",
+ "{{name}}",
+ "initialize"
+ ],
+ "query": [
+ {
+ "key": "scopeRef",
+ "value": "{{scopeRef}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ },
+ {
+ "name": "Triggers",
+ "item": [
+ {
+ "name": "List Triggers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Trigger",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create or update a Trigger",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022definition\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022source\u0022: {\n \u0022kind\u0022: \u0022\u0022,\n \u0022schedule\u0022: \u0022\u0022\n },\n \u0022target\u0022: {\n \u0022kind\u0022: \u0022\u0022,\n \u0022flow\u0022: \u0022\u0022\n },\n \u0022input\u0022: \u0022\u0022,\n \u0022misfirePolicy\u0022: \u0022skip\u0022,\n \u0022concurrencyPolicy\u0022: \u0022skip\u0022,\n \u0022executionScope\u0022: \u0022\u0022\n },\n \u0022observed\u0022: {\n \u0022lastScheduledAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022lastFiredAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022nextOccurrenceAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022lastOutcome\u0022: \u0022none\u0022,\n \u0022lastErrorCode\u0022: \u0022\u0022\n },\n \u0022uid\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022kind\u0022: \u0022\u0022,\n \u0022metadata\u0022: {\n \u0022namespace\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022annotations\u0022: {}\n },\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022generation\u0022: 0,\n \u0022status\u0022: {\n \u0022provisioningState\u0022: 0,\n \u0022resourceVersion\u0022: \u0022\u0022,\n \u0022conditions\u0022: [\n {\n \u0022type\u0022: \u0022\u0022,\n \u0022status\u0022: \u0022\u0022,\n \u0022reason\u0022: \u0022\u0022,\n \u0022message\u0022: \u0022\u0022,\n \u0022lastTransitionTime\u0022: \u00222026-01-01T00:00:00Z\u0022\n }\n ]\n },\n \u0022eTag\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a Trigger",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Trigger occurrences",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers/{{name}}/occurrences?take={{take}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers",
+ "{{name}}",
+ "occurrences"
+ ],
+ "query": [
+ {
+ "key": "take",
+ "value": "{{take}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Run a Trigger now",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/namespaces/{{namespace}}/triggers/{{name}}/run",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "namespaces",
+ "{{namespace}}",
+ "triggers",
+ "{{name}}",
+ "run"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Triggers",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Get a Trigger",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Create or update a Trigger",
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error.",
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022definition\u0022: {\n \u0022displayName\u0022: \u0022\u0022,\n \u0022description\u0022: \u0022\u0022,\n \u0022enabled\u0022: false,\n \u0022source\u0022: {\n \u0022kind\u0022: \u0022\u0022,\n \u0022schedule\u0022: \u0022\u0022\n },\n \u0022target\u0022: {\n \u0022kind\u0022: \u0022\u0022,\n \u0022flow\u0022: \u0022\u0022\n },\n \u0022input\u0022: \u0022\u0022,\n \u0022misfirePolicy\u0022: \u0022skip\u0022,\n \u0022concurrencyPolicy\u0022: \u0022skip\u0022,\n \u0022executionScope\u0022: \u0022\u0022\n },\n \u0022observed\u0022: {\n \u0022lastScheduledAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022lastFiredAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022nextOccurrenceAt\u0022: \u00222026-01-01T00:00:00Z\u0022,\n \u0022lastOutcome\u0022: \u0022none\u0022,\n \u0022lastErrorCode\u0022: \u0022\u0022\n },\n \u0022uid\u0022: \u002200000000-0000-0000-0000-000000000000\u0022,\n \u0022apiVersion\u0022: \u0022\u0022,\n \u0022kind\u0022: \u0022\u0022,\n \u0022metadata\u0022: {\n \u0022namespace\u0022: \u0022\u0022,\n \u0022name\u0022: \u0022\u0022,\n \u0022tags\u0022: {},\n \u0022annotations\u0022: {}\n },\n \u0022scopeRef\u0022: \u0022\u0022,\n \u0022generation\u0022: 0,\n \u0022status\u0022: {\n \u0022provisioningState\u0022: 0,\n \u0022resourceVersion\u0022: \u0022\u0022,\n \u0022conditions\u0022: [\n {\n \u0022type\u0022: \u0022\u0022,\n \u0022status\u0022: \u0022\u0022,\n \u0022reason\u0022: \u0022\u0022,\n \u0022message\u0022: \u0022\u0022,\n \u0022lastTransitionTime\u0022: \u00222026-01-01T00:00:00Z\u0022\n }\n ]\n },\n \u0022eTag\u0022: \u0022\u0022\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ }
+ },
+ "response": []
+ },
+ {
+ "name": "Delete a Trigger",
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/problem\u002Bjson"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers/{{name}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers",
+ "{{name}}"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nCaution: destructive operation.\n\nResponses: 204: The operation completed successfully and returned no content.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "List Trigger occurrences",
+ "request": {
+ "method": "GET",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers/{{name}}/occurrences?take={{take}}",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers",
+ "{{name}}",
+ "occurrences"
+ ],
+ "query": [
+ {
+ "key": "take",
+ "value": "{{take}}",
+ "description": null,
+ "disabled": true
+ }
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 200: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ },
+ {
+ "name": "Run a Trigger now",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Accept",
+ "value": "application/json"
+ }
+ ],
+ "url": {
+ "raw": "{{baseUrl}}/api/triggers/{{name}}/run",
+ "host": [
+ "{{baseUrl}}"
+ ],
+ "path": [
+ "api",
+ "triggers",
+ "{{name}}",
+ "run"
+ ]
+ },
+ "description": "Authentication: local session cookie or Bearer JWT/Agentstration PAT.\n\nResponses: 202: The operation completed successfully.; 401: Authentication is required.; 403: The authenticated principal is not authorized for this operation.; default: An expected validation, concurrency, authorization or resource error."
+ },
+ "response": []
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Scenarios",
+ "description": "Curated requests intended to be run in folder order.",
+ "item": [
+ {
+ "name": "01 - Authentication",
+ "item": [
+ {
+ "name": "Login as local Platform administrator",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Login succeeds\u0027, function () {",
+ " pm.response.to.have.status(204);",
+ "});"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022userName\u0022: \u0022{{userName}}\u0022,\n \u0022password\u0022: \u0022{{password}}\u0022,\n \u0022rememberMe\u0022: false\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/auth/local/login",
+ "description": "Creates the application authentication cookie. Postman\u0027s cookie jar sends it to subsequent requests automatically."
+ }
+ }
+ ]
+ },
+ {
+ "name": "02 - Official Registry",
+ "item": [
+ {
+ "name": "List Source Registries",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Registries are returned\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ " const body = pm.response.json();",
+ " pm.expect(body.value).to.be.an(\u0027array\u0027);",
+ " pm.expect(body.value.some(x =\u003E x.registration.name === pm.collectionVariables.get(\u0027officialRegistryName\u0027))).to.eql(true);",
+ "});"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries"
+ }
+ },
+ {
+ "name": "Get Official Registry",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Official Registry is returned with an ETag\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ " pm.expect(pm.response.headers.get(\u0027ETag\u0027)).to.be.ok;",
+ "});",
+ "pm.collectionVariables.set(\u0027officialRegistryEtag\u0027, pm.response.headers.get(\u0027ETag\u0027));"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/{{officialRegistryName}}"
+ }
+ },
+ {
+ "name": "Refresh Official Registry (network)",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Refresh request is handled\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ "});",
+ "pm.test(\u0027Observed status is returned\u0027, function () {",
+ " const body = pm.response.json();",
+ " pm.expect(body.observed.definition.status).to.be.a(\u0027string\u0027);",
+ "});",
+ "if (pm.response.headers.get(\u0027ETag\u0027)) pm.collectionVariables.set(\u0027officialRegistryEtag\u0027, pm.response.headers.get(\u0027ETag\u0027));"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/{{officialRegistryName}}/refresh",
+ "description": "Performs a real network refresh against registry.agentstration.io. It can be skipped for a fully offline smoke test."
+ }
+ },
+ {
+ "name": "List Official Registry Refresh History",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Refresh history is returned\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ " const body = pm.response.json();",
+ " pm.expect(body.value).to.be.an(\u0027array\u0027);",
+ " pm.expect(body.count).to.eql(body.value.length);",
+ "});"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/{{officialRegistryName}}/refreshes?take=10"
+ }
+ }
+ ]
+ },
+ {
+ "name": "03 - Registration CRUD",
+ "item": [
+ {
+ "name": "Create Disabled Test Registry",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Registry is created\u0027, function () {",
+ " pm.response.to.have.status(201);",
+ " pm.expect(pm.response.json().registration.name).to.eql(pm.collectionVariables.get(\u0027registryName\u0027));",
+ "});",
+ "pm.test(\u0027Created Registry has an ETag\u0027, function () {",
+ " pm.expect(pm.response.headers.get(\u0027ETag\u0027)).to.be.ok;",
+ "});",
+ "pm.collectionVariables.set(\u0027registryEtag\u0027, pm.response.headers.get(\u0027ETag\u0027));"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022{{registryName}}\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022Postman test Registry\u0022,\n \u0022indexUrl\u0022: \u0022{{registryIndexUrl}}\u0022,\n \u0022enabled\u0022: false,\n \u0022trustPolicy\u0022: \u0022untrusted\u0022,\n \u0022endpointPolicy\u0022: {\n \u0022allowHttp\u0022: false,\n \u0022allowPrivateNetwork\u0022: false\n },\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022credential\u0022: null,\n \u0022refreshPolicy\u0022: {\n \u0022periodicEnabled\u0022: false,\n \u0022interval\u0022: \u00221.00:00:00\u0022\n },\n \u0022cachePolicy\u0022: {\n \u0022retainedObservations\u0022: 3\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries",
+ "description": "Creates a disabled registration so this CRUD scenario does not require network access. Delete an existing registration with the same name before rerunning this request."
+ }
+ },
+ {
+ "name": "Get Test Registry and Capture ETag",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Registry is returned\u0027, function () { pm.response.to.have.status(200); });",
+ "pm.collectionVariables.set(\u0027registryEtag\u0027, pm.response.headers.get(\u0027ETag\u0027));"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/{{registryName}}"
+ }
+ },
+ {
+ "name": "Update Test Registry with Current ETag",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.collectionVariables.set(\u0027staleRegistryEtag\u0027, pm.collectionVariables.get(\u0027registryEtag\u0027));"
+ ]
+ }
+ },
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Registry is updated\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ " pm.expect(pm.response.json().registration.definition.displayName).to.eql(\u0027Postman test Registry updated\u0027);",
+ "});",
+ "pm.collectionVariables.set(\u0027registryEtag\u0027, pm.response.headers.get(\u0027ETag\u0027));"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "If-Match",
+ "value": "{{registryEtag}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022Postman test Registry updated\u0022,\n \u0022indexUrl\u0022: \u0022{{registryIndexUrl}}\u0022,\n \u0022enabled\u0022: false,\n \u0022trustPolicy\u0022: \u0022trusted\u0022,\n \u0022endpointPolicy\u0022: {\n \u0022allowHttp\u0022: false,\n \u0022allowPrivateNetwork\u0022: false\n },\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022credential\u0022: null,\n \u0022refreshPolicy\u0022: {\n \u0022periodicEnabled\u0022: false,\n \u0022interval\u0022: \u002212:00:00\u0022\n },\n \u0022cachePolicy\u0022: {\n \u0022retainedObservations\u0022: 5\n }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries/{{registryName}}"
+ }
+ },
+ {
+ "name": "Reject Update with Stale ETag",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Stale ETag is rejected\u0027, function () { pm.response.to.have.status(409); });"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "PUT",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "key": "If-Match",
+ "value": "{{staleRegistryEtag}}"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022This stale update must fail\u0022,\n \u0022indexUrl\u0022: \u0022{{registryIndexUrl}}\u0022,\n \u0022enabled\u0022: false,\n \u0022trustPolicy\u0022: \u0022untrusted\u0022,\n \u0022endpointPolicy\u0022: { \u0022allowHttp\u0022: false, \u0022allowPrivateNetwork\u0022: false },\n \u0022authenticationMode\u0022: \u0022none\u0022,\n \u0022credential\u0022: null,\n \u0022refreshPolicy\u0022: { \u0022periodicEnabled\u0022: false, \u0022interval\u0022: \u00221.00:00:00\u0022 },\n \u0022cachePolicy\u0022: { \u0022retainedObservations\u0022: 3 }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries/{{registryName}}"
+ }
+ },
+ {
+ "name": "Delete Test Registry with Current ETag",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Registry is deleted\u0027, function () { pm.response.to.have.status(204); });",
+ "pm.collectionVariables.unset(\u0027registryEtag\u0027);",
+ "pm.collectionVariables.unset(\u0027staleRegistryEtag\u0027);"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "DELETE",
+ "header": [
+ {
+ "key": "If-Match",
+ "value": "{{registryEtag}}"
+ }
+ ],
+ "url": "{{baseUrl}}/api/sourceregistries/{{registryName}}"
+ }
+ },
+ {
+ "name": "Confirm Test Registry Was Deleted",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Deleted Registry is not found\u0027, function () { pm.response.to.have.status(404); });"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/{{registryName}}"
+ }
+ }
+ ]
+ },
+ {
+ "name": "04 - Policy Validation",
+ "item": [
+ {
+ "name": "Reject HTTP Registry Without Opt-in",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027HTTP endpoint is rejected\u0027, function () { pm.response.to.have.status(422); });"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022postman-http-denied\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022HTTP denied\u0022,\n \u0022indexUrl\u0022: \u0022http://registry.internal/v1/index.json\u0022,\n \u0022enabled\u0022: false,\n \u0022endpointPolicy\u0022: { \u0022allowHttp\u0022: false, \u0022allowPrivateNetwork\u0022: false }\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries"
+ }
+ },
+ {
+ "name": "Reject Static Bearer Without Credential",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Missing credential is rejected\u0027, function () { pm.response.to.have.status(422); });"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022name\u0022: \u0022postman-credential-denied\u0022,\n \u0022properties\u0022: {\n \u0022displayName\u0022: \u0022Credential denied\u0022,\n \u0022indexUrl\u0022: \u0022https://registry.example/v1/index.json\u0022,\n \u0022enabled\u0022: false,\n \u0022authenticationMode\u0022: \u0022staticBearer\u0022,\n \u0022credential\u0022: null\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries"
+ }
+ }
+ ]
+ },
+ {
+ "name": "05 - Discovery and exact import",
+ "item": [
+ {
+ "name": "Search compatible Sources",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Discovery is bounded and available\u0027, function () {",
+ " pm.response.to.have.status(200);",
+ " const body = pm.response.json();",
+ " pm.expect(body.take).to.eql(20);",
+ " pm.expect(body.value).to.be.an(\u0027array\u0027);",
+ "});",
+ "const sources = pm.response.json().value;",
+ "if (sources.length \u0026\u0026 sources[0].versions.length \u0026\u0026 sources[0].versions[0].observations.length) {",
+ " pm.collectionVariables.set(\u0027discoveredPublisher\u0027, sources[0].publisher);",
+ " pm.collectionVariables.set(\u0027discoveredSource\u0027, sources[0].name);",
+ " pm.collectionVariables.set(\u0027discoverySelection\u0027, JSON.stringify(sources[0].versions[0].observations[0].selection));",
+ "}"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/discovery?compatibleOnly=true\u0026freshOnly=false\u0026skip=0\u0026take=20",
+ "description": "Reads only cached Registry shards. Run the official refresh first to obtain results."
+ }
+ },
+ {
+ "name": "List discovered publishers",
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/discovery/publishers"
+ }
+ },
+ {
+ "name": "Inspect selected Source",
+ "request": {
+ "method": "GET",
+ "header": [],
+ "url": "{{baseUrl}}/api/sourceregistries/discovery/sources/{{discoveredPublisher}}/{{discoveredSource}}",
+ "description": "Requires discoveredSource to have been captured by the search request."
+ }
+ },
+ {
+ "name": "Import exact retained observation",
+ "event": [
+ {
+ "listen": "prerequest",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "if (!pm.collectionVariables.get(\u0027discoverySelection\u0027)) {",
+ " throw new Error(\u0027Run Search compatible Sources after a successful Registry refresh first.\u0027);",
+ "}"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \u0022selection\u0022: {{discoverySelection}}\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": "{{baseUrl}}/api/sourceregistries/discovery/imports",
+ "description": "Re-resolves the retained selection, fetches only its manifest, and imports no Channel content."
+ }
+ }
+ ]
+ },
+ {
+ "name": "99 - Session",
+ "item": [
+ {
+ "name": "Logout",
+ "event": [
+ {
+ "listen": "test",
+ "script": {
+ "type": "text/javascript",
+ "exec": [
+ "pm.test(\u0027Logout succeeds\u0027, function () { pm.response.to.have.status(204); });"
+ ]
+ }
+ }
+ ],
+ "request": {
+ "method": "POST",
+ "header": [],
+ "url": "{{baseUrl}}/api/auth/logout"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/dev/postman/README.md b/dev/postman/README.md
new file mode 100644
index 00000000..f84c067f
--- /dev/null
+++ b/dev/postman/README.md
@@ -0,0 +1,46 @@
+# Postman collection
+
+`Agentstration.postman_collection.json` is the complete HTTP API collection. Its **API Reference** folder is generated from the same runtime OpenAPI document used by Swagger; its **Scenarios** folder is assembled from curated files under `scenarios/`.
+
+Import the collection and one environment from `environments/`:
+
+- `Agentstration.Local.postman_environment.json` targets the direct Web launch at `http://localhost:5100`.
+- `Agentstration.Docker.postman_environment.json` targets the default provider Compose port at `http://localhost:5100`. Change `port` to `5080` for `deploy/compose/base.yml`, or to the value supplied through `AGENTSTRATION_HTTP_PORT`.
+
+Every request resolves its address through `{{baseUrl}}`, whose value is `{{scheme}}://{{host}}:{{port}}`. Override only `scheme`, `host`, and `port` when moving between environments.
+
+## Authentication
+
+For local authentication, set `password` in the active Postman environment and run **Scenarios > 01 - Authentication > Login as local Platform administrator**. Postman's cookie jar sends the application session cookie on later requests.
+
+For OIDC or automation, set `bearerToken` to a JWT or Agentstration personal access token. A collection pre-request script adds the Bearer header only when this variable has a value, so an empty token does not interfere with cookie authentication. Do not export populated credentials, tokens, or cookies into the repository.
+
+## Generated reference
+
+Run from the repository root:
+
+```powershell
+dotnet run --project tools/Agentstration.Postman
+```
+
+The command starts an in-memory `Testing` host, reads `/openapi/v1.json`, and deterministically regenerates the collection and environment templates. It requires no live model, provider, database server, or public network.
+
+To verify committed artifacts without modifying them:
+
+```powershell
+dotnet run --project tools/Agentstration.Postman -- --check
+```
+
+Do not edit the generated **API Reference** section directly. Improve endpoint metadata or the generator instead. Curated workflows belong in `scenarios/`; regenerate the final collection after changing them.
+
+## Request behavior
+
+- Optional query parameters are present but disabled by default.
+- Path and query values use collection variables and can be overridden by the active environment.
+- Request bodies are representative examples generated from OpenAPI schemas; review identifiers and references before sending mutations.
+- `DELETE` requests are marked as destructive in their descriptions and are never run automatically.
+- Pack archive requests use Postman's file or multipart body modes; select the local ZIP before sending.
+- Runtime and Flow event requests return `text/event-stream` and remain open while events are produced.
+- The Source Registry scenario is deterministic except for the explicitly named official Registry refresh request, which can be skipped offline.
+
+SignalR hubs and the MCP endpoint are separate protocols and are not represented as REST requests in this collection. Their HTTP negotiation routes are implementation details rather than part of the OpenAPI contract.
diff --git a/dev/postman/environments/Agentstration.Docker.postman_environment.json b/dev/postman/environments/Agentstration.Docker.postman_environment.json
new file mode 100644
index 00000000..d89d75eb
--- /dev/null
+++ b/dev/postman/environments/Agentstration.Docker.postman_environment.json
@@ -0,0 +1,58 @@
+{
+ "id": "ee9e50af-3fc4-40db-9184-f2df82ba10bf",
+ "name": "Agentstration - Docker",
+ "values": [
+ {
+ "key": "scheme",
+ "value": "http",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "host",
+ "value": "localhost",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "port",
+ "value": "5100",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "userName",
+ "value": "admin",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "password",
+ "value": "",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "bearerToken",
+ "value": "",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "namespace",
+ "value": "default",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "workspaceName",
+ "value": "default",
+ "type": "default",
+ "enabled": true
+ }
+ ],
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2026-09-11T00:00:00.000Z",
+ "_postman_exported_using": "Agentstration.Postman",
+ "schema": "https://schema.getpostman.com/json/environment/v2.1.0/environment.json"
+}
diff --git a/dev/postman/environments/Agentstration.Local.postman_environment.json b/dev/postman/environments/Agentstration.Local.postman_environment.json
new file mode 100644
index 00000000..336ac0dd
--- /dev/null
+++ b/dev/postman/environments/Agentstration.Local.postman_environment.json
@@ -0,0 +1,58 @@
+{
+ "id": "3e4663ef-b619-49d6-bbfd-a4ac7aa93019",
+ "name": "Agentstration - Local",
+ "values": [
+ {
+ "key": "scheme",
+ "value": "http",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "host",
+ "value": "localhost",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "port",
+ "value": "5100",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "userName",
+ "value": "admin",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "password",
+ "value": "",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "bearerToken",
+ "value": "",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "namespace",
+ "value": "default",
+ "type": "default",
+ "enabled": true
+ },
+ {
+ "key": "workspaceName",
+ "value": "default",
+ "type": "default",
+ "enabled": true
+ }
+ ],
+ "_postman_variable_scope": "environment",
+ "_postman_exported_at": "2026-09-11T00:00:00.000Z",
+ "_postman_exported_using": "Agentstration.Postman",
+ "schema": "https://schema.getpostman.com/json/environment/v2.1.0/environment.json"
+}
diff --git a/dev/postman/Agentstration.SourceRegistries.postman_collection.json b/dev/postman/scenarios/SourceRegistries.postman_scenario.json
similarity index 98%
rename from dev/postman/Agentstration.SourceRegistries.postman_collection.json
rename to dev/postman/scenarios/SourceRegistries.postman_scenario.json
index c88438c4..122f6de8 100644
--- a/dev/postman/Agentstration.SourceRegistries.postman_collection.json
+++ b/dev/postman/scenarios/SourceRegistries.postman_scenario.json
@@ -1,14 +1,14 @@
{
"info": {
"_postman_id": "a7a8cdde-0ad5-46fd-b239-ecb8cc9defc2",
- "name": "Agentstration - Source Registries",
- "description": "Local smoke-test collection for Source Registry registration, discovery, trust, and exact Source import. Run the requests in order. The login establishes the authentication cookie and the scripts retain ETags and an optional discovery selection.",
+ "name": "Source Registry lifecycle",
+ "description": "Curated local scenario for Source Registry registration, discovery, trust, and exact Source import. Run the requests in order. The login establishes the authentication cookie and the scripts retain ETags and an optional discovery selection.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"variable": [
{ "key": "baseUrl", "value": "http://localhost:5100", "type": "string" },
{ "key": "userName", "value": "admin", "type": "string" },
- { "key": "password", "value": "admin", "type": "string" },
+ { "key": "password", "value": "", "type": "string" },
{ "key": "registryName", "value": "postman-test", "type": "string" },
{ "key": "registryIndexUrl", "value": "https://registry.example/v1/index.json", "type": "string" },
{ "key": "officialRegistryName", "value": "agentstration-official", "type": "string" },
diff --git a/src/Agentstration.Web/Configuration/OpenApiConfiguration.cs b/src/Agentstration.Web/Configuration/OpenApiConfiguration.cs
index 51d4f524..7e760c67 100644
--- a/src/Agentstration.Web/Configuration/OpenApiConfiguration.cs
+++ b/src/Agentstration.Web/Configuration/OpenApiConfiguration.cs
@@ -278,9 +278,13 @@ private static string NormalizePath(string path)
private static string TagFor(string path)
{
var value = path.ToLowerInvariant();
- if (value == "/health") return "System";
+ if (value == "/health" || value.StartsWith("/health/", StringComparison.Ordinal)) return "System";
if (value.StartsWith("/api/auth", StringComparison.Ordinal)) return "Authentication";
if (value.StartsWith("/api/identity", StringComparison.Ordinal)) return "Identity";
+ if (value.StartsWith("/api/aep/enrollments", StringComparison.Ordinal)) return "AEP enrollment";
+ if (value.StartsWith("/api/bootstrap", StringComparison.Ordinal)) return "Bootstrap";
+ if (value.StartsWith("/api/resource-scopes", StringComparison.Ordinal)) return "Resource scopes";
+ if (value.StartsWith("/api/resources", StringComparison.Ordinal)) return "Resources";
if (value.StartsWith("/api/workplace", StringComparison.Ordinal)) return "Workplace";
if (value.StartsWith("/api/work/workitems", StringComparison.Ordinal)) return "Work";
if (value.StartsWith("/api/tasks", StringComparison.Ordinal)) return "Work operations";
@@ -291,11 +295,16 @@ private static string TagFor(string path)
if (value.StartsWith("/api/tool-governance", StringComparison.Ordinal)) return "Tool governance";
if (value.StartsWith("/api/model", StringComparison.Ordinal)
|| value.StartsWith("/api/runtimeprofiles", StringComparison.Ordinal)) return "Model management";
- if (value.StartsWith("/api/extensions", StringComparison.Ordinal)) return "Extensions";
+ if (value.StartsWith("/api/extensions", StringComparison.Ordinal)
+ || value.StartsWith("/api/extensionregistrations", StringComparison.Ordinal)) return "Extensions";
+ if (value.StartsWith("/api/sourceproviders", StringComparison.Ordinal)) return "Source providers";
+ if (value.StartsWith("/api/sourceregistries", StringComparison.Ordinal)) return "Source registries";
+ if (value.StartsWith("/api/sources", StringComparison.Ordinal)) return "Sources";
if (value.StartsWith("/api/vaults", StringComparison.Ordinal)
|| value.StartsWith("/api/secrets", StringComparison.Ordinal)) return "Secrets";
if (value.StartsWith("/api/toolproviders", StringComparison.Ordinal)
|| value.StartsWith("/api/tools", StringComparison.Ordinal)
+ || value.StartsWith("/api/tooldefinitions", StringComparison.Ordinal)
|| value.StartsWith("/api/toolexecutionhooks", StringComparison.Ordinal)) return "Tools";
if (value.StartsWith("/api/packs", StringComparison.Ordinal)
|| value.StartsWith("/api/pack-projects", StringComparison.Ordinal)) return "Packs";
@@ -304,7 +313,11 @@ private static string TagFor(string path)
|| value.Contains("/deployments", StringComparison.Ordinal)
|| value.StartsWith("/api/routing", StringComparison.Ordinal)) return "Management";
if (value.StartsWith("/api/diagnostics", StringComparison.Ordinal)) return "Diagnostics";
- if (value.StartsWith("/api/workspaces", StringComparison.Ordinal)) return "Workplace";
+ if (value.StartsWith("/api/workspaces", StringComparison.Ordinal)
+ || value.StartsWith("/api/entries", StringComparison.Ordinal)
+ || value.StartsWith("/api/management/entries", StringComparison.Ordinal)
+ || value.StartsWith("/api/management/workspaces", StringComparison.Ordinal)
+ || value.StartsWith("/api/namespaces/", StringComparison.Ordinal) && value.Contains("/entries", StringComparison.Ordinal)) return "Workplace";
return "API";
}
}
diff --git a/tests/Agentstration.Web.Tests/PostmanCollectionTests.cs b/tests/Agentstration.Web.Tests/PostmanCollectionTests.cs
new file mode 100644
index 00000000..d4da3201
--- /dev/null
+++ b/tests/Agentstration.Web.Tests/PostmanCollectionTests.cs
@@ -0,0 +1,206 @@
+using System.Text.Json;
+using Agentstration.Web.Configuration;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc.Testing;
+using Microsoft.AspNetCore.Routing;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Agentstration.Web.Tests;
+
+[TestClass]
+public sealed class PostmanCollectionTests
+{
+ [TestMethod]
+ public async Task ApiReferenceMatchesRegisteredAndOpenApiOperations()
+ {
+ await using var factory = CreateFactory();
+ using var client = factory.CreateClient();
+ using var openApi = JsonDocument.Parse(await client.GetStringAsync(OpenApiConfiguration.DocumentPath));
+ using var postman = JsonDocument.Parse(File.ReadAllText(FindRepositoryFile("dev", "postman", "Agentstration.postman_collection.json")));
+
+ var registered = factory.Services.GetRequiredService().Endpoints
+ .OfType()
+ .Where(endpoint => IsApiRoute(endpoint.RoutePattern.RawText))
+ .SelectMany(endpoint => endpoint.Metadata.GetMetadata()?.HttpMethods
+ .Select(method => Key(method, NormalizeRoute(endpoint.RoutePattern.RawText!))) ?? [])
+ .ToHashSet(StringComparer.OrdinalIgnoreCase);
+ var documented = OpenApiOperations(openApi.RootElement);
+ var collected = PostmanReferenceOperations(postman.RootElement);
+
+ AssertSetsEqual(registered, documented, "registered endpoints", "OpenAPI");
+ AssertSetsEqual(documented, collected, "OpenAPI", "Postman API Reference");
+ }
+
+ [TestMethod]
+ public void CollectionUsesComposableEndpointVariablesAndCommittedEnvironmentsContainNoSecrets()
+ {
+ using var collection = JsonDocument.Parse(File.ReadAllText(FindRepositoryFile("dev", "postman", "Agentstration.postman_collection.json")));
+ var variables = collection.RootElement.GetProperty("variable").EnumerateArray()
+ .ToDictionary(value => value.GetProperty("key").GetString()!, value => value.GetProperty("value").GetString(), StringComparer.Ordinal);
+
+ Assert.AreEqual("http", variables["scheme"]);
+ Assert.AreEqual("localhost", variables["host"]);
+ Assert.AreEqual("5100", variables["port"]);
+ Assert.AreEqual("{{scheme}}://{{host}}:{{port}}", variables["baseUrl"]);
+ Assert.AreEqual(string.Empty, variables["password"]);
+ Assert.AreEqual(string.Empty, variables["bearerToken"]);
+
+ foreach (var environmentName in new[] { "Agentstration.Local.postman_environment.json", "Agentstration.Docker.postman_environment.json" })
+ {
+ using var environment = JsonDocument.Parse(File.ReadAllText(FindRepositoryFile("dev", "postman", "environments", environmentName)));
+ var values = environment.RootElement.GetProperty("values").EnumerateArray()
+ .ToDictionary(value => value.GetProperty("key").GetString()!, value => value.GetProperty("value").GetString(), StringComparer.Ordinal);
+ Assert.IsTrue(values.ContainsKey("scheme"));
+ Assert.IsTrue(values.ContainsKey("host"));
+ Assert.IsTrue(values.ContainsKey("port"));
+ Assert.AreEqual(string.Empty, values["password"]);
+ Assert.AreEqual(string.Empty, values["bearerToken"]);
+ }
+ }
+
+ [TestMethod]
+ public void ApiReferenceRequestsUseBaseUrlAndHaveNoDuplicateOperation()
+ {
+ using var collection = JsonDocument.Parse(File.ReadAllText(FindRepositoryFile("dev", "postman", "Agentstration.postman_collection.json")));
+ var requests = ReferenceRequests(collection.RootElement).ToArray();
+ var operations = requests.Select(RequestKey).ToArray();
+
+ Assert.IsTrue(requests.All(item => RawUrl(item.GetProperty("request")).StartsWith("{{baseUrl}}/", StringComparison.Ordinal)));
+ Assert.HasCount(operations.Length, operations.Distinct(StringComparer.OrdinalIgnoreCase).ToArray());
+ }
+
+ [TestMethod]
+ public async Task SpecializedApiDomainsDoNotUseTheGenericTag()
+ {
+ await using var factory = CreateFactory();
+ using var client = factory.CreateClient();
+ using var document = JsonDocument.Parse(await client.GetStringAsync(OpenApiConfiguration.DocumentPath));
+ var expected = new Dictionary(StringComparer.Ordinal)
+ {
+ ["/api/aep/enrollments"] = "AEP enrollment",
+ ["/api/bootstrap/profiles"] = "Bootstrap",
+ ["/api/resource-scopes"] = "Resource scopes",
+ ["/api/resources"] = "Resources",
+ ["/api/entries"] = "Workplace",
+ ["/api/extensionregistrations"] = "Extensions",
+ ["/api/sourceproviders"] = "Source providers",
+ ["/api/sourceregistries"] = "Source registries",
+ ["/api/sources"] = "Sources",
+ ["/api/tooldefinitions"] = "Tools",
+ ["/health/ready"] = "System"
+ };
+
+ foreach (var pair in expected)
+ {
+ var operation = document.RootElement.GetProperty("paths").GetProperty(pair.Key).EnumerateObject()
+ .First(value => IsHttpMethod(value.Name)).Value;
+ Assert.AreEqual(pair.Value, operation.GetProperty("tags")[0].GetString(), pair.Key);
+ }
+ }
+
+ private static WebApplicationFactory CreateFactory() =>
+ new WebApplicationFactory().WithWebHostBuilder(builder => builder.UseEnvironment("Testing"));
+
+ private static HashSet OpenApiOperations(JsonElement root) => root.GetProperty("paths")
+ .EnumerateObject()
+ .Where(path => IsApiRoute(path.Name))
+ .SelectMany(path => path.Value.EnumerateObject()
+ .Where(operation => IsHttpMethod(operation.Name))
+ .Select(operation => Key(operation.Name, path.Name)))
+ .ToHashSet(StringComparer.OrdinalIgnoreCase);
+
+ private static HashSet PostmanReferenceOperations(JsonElement root) => ReferenceRequests(root)
+ .Select(RequestKey)
+ .ToHashSet(StringComparer.OrdinalIgnoreCase);
+
+ private static IEnumerable ReferenceRequests(JsonElement root)
+ {
+ var reference = root.GetProperty("item").EnumerateArray()
+ .Single(item => item.GetProperty("name").GetString() == "API Reference");
+ foreach (var folder in reference.GetProperty("item").EnumerateArray())
+ foreach (var request in folder.GetProperty("item").EnumerateArray())
+ yield return request;
+ }
+
+ private static string RequestKey(JsonElement item)
+ {
+ var request = item.GetProperty("request");
+ var method = request.GetProperty("method").GetString()!;
+ var raw = RawUrl(request);
+ const string baseUrl = "{{baseUrl}}";
+ Assert.IsTrue(raw.StartsWith(baseUrl, StringComparison.Ordinal));
+ var path = raw[baseUrl.Length..];
+ var queryIndex = path.IndexOf('?', StringComparison.Ordinal);
+ if (queryIndex >= 0) path = path[..queryIndex];
+ return Key(method, NormalizePostmanRoute(path));
+ }
+
+ private static string RawUrl(JsonElement request)
+ {
+ var url = request.GetProperty("url");
+ return url.ValueKind == JsonValueKind.String ? url.GetString()! : url.GetProperty("raw").GetString()!;
+ }
+
+ private static string NormalizePostmanRoute(string route)
+ {
+ var value = route;
+ var start = value.IndexOf("{{", StringComparison.Ordinal);
+ while (start >= 0)
+ {
+ var end = value.IndexOf("}}", start + 2, StringComparison.Ordinal);
+ if (end < 0) break;
+ value = value[..start] + "{" + value[(start + 2)..end] + "}" + value[(end + 2)..];
+ start = value.IndexOf("{{", start + 1, StringComparison.Ordinal);
+ }
+ return NormalizeRoute(value);
+ }
+
+ private static string NormalizeRoute(string route)
+ {
+ var input = "/" + route.Trim('/');
+ var output = new System.Text.StringBuilder(input.Length);
+ var inParameter = false;
+ var inConstraint = false;
+ foreach (var character in input)
+ {
+ if (character == '{') inParameter = true;
+ if (inParameter && character == ':') inConstraint = true;
+ if (!inConstraint) output.Append(character);
+ if (character != '}') continue;
+ if (inConstraint) output.Append(character);
+ inParameter = false;
+ inConstraint = false;
+ }
+ return output.Length > 1 ? output.ToString().TrimEnd('/') : output.ToString();
+ }
+
+ private static string Key(string method, string route) => $"{method.ToUpperInvariant()} {NormalizeRoute(route)}";
+
+ private static bool IsApiRoute(string? route) => route is not null
+ && (route.Equals("health", StringComparison.OrdinalIgnoreCase)
+ || route.Equals("/health", StringComparison.OrdinalIgnoreCase)
+ || route.StartsWith("health/", StringComparison.OrdinalIgnoreCase)
+ || route.StartsWith("/health/", StringComparison.OrdinalIgnoreCase)
+ || route.StartsWith("api/", StringComparison.OrdinalIgnoreCase)
+ || route.StartsWith("/api/", StringComparison.OrdinalIgnoreCase));
+
+ private static bool IsHttpMethod(string method) => method is "get" or "post" or "put" or "patch" or "delete" or "head" or "options" or "trace";
+
+ private static void AssertSetsEqual(HashSet expected, HashSet actual, string expectedName, string actualName)
+ {
+ var missing = expected.Except(actual, StringComparer.OrdinalIgnoreCase).Order(StringComparer.Ordinal).ToArray();
+ var stale = actual.Except(expected, StringComparer.OrdinalIgnoreCase).Order(StringComparer.Ordinal).ToArray();
+ Assert.IsEmpty(missing, $"Operations present in {expectedName} but missing from {actualName}:{Environment.NewLine}{string.Join(Environment.NewLine, missing)}");
+ Assert.IsEmpty(stale, $"Operations present in {actualName} but missing from {expectedName}:{Environment.NewLine}{string.Join(Environment.NewLine, stale)}");
+ }
+
+ private static string FindRepositoryFile(params string[] segments)
+ {
+ for (var directory = new DirectoryInfo(AppContext.BaseDirectory); directory is not null; directory = directory.Parent)
+ {
+ var path = Path.Combine([directory.FullName, .. segments]);
+ if (File.Exists(path)) return path;
+ }
+ throw new FileNotFoundException($"Could not locate repository file: {Path.Combine(segments)}");
+ }
+}
diff --git a/tools/Agentstration.Postman/Agentstration.Postman.csproj b/tools/Agentstration.Postman/Agentstration.Postman.csproj
new file mode 100644
index 00000000..3196a6a8
--- /dev/null
+++ b/tools/Agentstration.Postman/Agentstration.Postman.csproj
@@ -0,0 +1,9 @@
+
+
+ Exe
+
+
+
+
+
+
diff --git a/tools/Agentstration.Postman/Program.cs b/tools/Agentstration.Postman/Program.cs
new file mode 100644
index 00000000..a1397bdc
--- /dev/null
+++ b/tools/Agentstration.Postman/Program.cs
@@ -0,0 +1,494 @@
+using System.Text.Json;
+using System.Text.Json.Nodes;
+using System.Text.RegularExpressions;
+using Agentstration.Web.Configuration;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc.Testing;
+
+namespace Agentstration.Postman;
+
+internal static partial class PostmanProgram
+{
+ private const string CollectionRelativePath = "dev/postman/Agentstration.postman_collection.json";
+ private const string LocalEnvironmentRelativePath = "dev/postman/environments/Agentstration.Local.postman_environment.json";
+ private const string DockerEnvironmentRelativePath = "dev/postman/environments/Agentstration.Docker.postman_environment.json";
+ private const string ScenarioRelativePath = "dev/postman/scenarios/SourceRegistries.postman_scenario.json";
+
+ private static readonly string[] HttpMethods = ["get", "post", "put", "patch", "delete", "head", "options", "trace"];
+ private static readonly string[] PreferredTagOrder =
+ [
+ "System", "Authentication", "Identity", "AEP enrollment", "Bootstrap", "Resource scopes", "Resources",
+ "Management", "Flows", "Runtime", "Work", "Work operations", "Workplace", "Model management",
+ "Extensions", "Source providers", "Sources", "Source registries", "Packs", "Tools", "Tool governance",
+ "Secrets", "Triggers", "Diagnostics", "API"
+ ];
+
+ public static async Task Main(string[] args)
+ {
+ var check = args.Contains("--check", StringComparer.OrdinalIgnoreCase);
+ var repositoryRoot = FindRepositoryRoot();
+ var collectionPath = Path.Combine(repositoryRoot, CollectionRelativePath);
+ var localEnvironmentPath = Path.Combine(repositoryRoot, LocalEnvironmentRelativePath);
+ var dockerEnvironmentPath = Path.Combine(repositoryRoot, DockerEnvironmentRelativePath);
+ var scenarioPath = Path.Combine(repositoryRoot, ScenarioRelativePath);
+
+ await using var factory = new WebApplicationFactory().WithWebHostBuilder(builder =>
+ {
+ builder.UseEnvironment("Testing");
+ builder.UseContentRoot(Path.Combine(repositoryRoot, "src", "Agentstration.Web"));
+ });
+ using var client = factory.CreateClient();
+ var openApi = await client.GetStringAsync(OpenApiConfiguration.DocumentPath);
+ using var document = JsonDocument.Parse(openApi);
+
+ var artifacts = new Dictionary(StringComparer.Ordinal)
+ {
+ [collectionPath] = Serialize(CreateCollection(document.RootElement, scenarioPath)),
+ [localEnvironmentPath] = Serialize(CreateEnvironment("Agentstration - Local", "3e4663ef-b619-49d6-bbfd-a4ac7aa93019", "localhost", "5100")),
+ [dockerEnvironmentPath] = Serialize(CreateEnvironment("Agentstration - Docker", "ee9e50af-3fc4-40db-9184-f2df82ba10bf", "localhost", "5100"))
+ };
+
+ var stale = artifacts.Where(pair => !File.Exists(pair.Key) || !SameContent(File.ReadAllText(pair.Key), pair.Value)).ToArray();
+ if (check)
+ {
+ if (stale.Length == 0)
+ {
+ Console.WriteLine("Postman artifacts are up to date.");
+ return 0;
+ }
+
+ Console.Error.WriteLine("Postman artifacts are stale. Run: dotnet run --project tools/Agentstration.Postman");
+ foreach (var pair in stale) Console.Error.WriteLine($"- {Path.GetRelativePath(repositoryRoot, pair.Key)}");
+ return 1;
+ }
+
+ foreach (var pair in artifacts)
+ {
+ Directory.CreateDirectory(Path.GetDirectoryName(pair.Key)!);
+ await File.WriteAllTextAsync(pair.Key, pair.Value);
+ Console.WriteLine($"Updated {Path.GetRelativePath(repositoryRoot, pair.Key)}");
+ }
+
+ return 0;
+ }
+
+ private static JsonObject CreateCollection(JsonElement openApi, string scenarioPath)
+ {
+ var parameterNames = new SortedSet(StringComparer.Ordinal);
+ var folders = new Dictionary(StringComparer.Ordinal);
+ var paths = openApi.GetProperty("paths");
+
+ foreach (var pathProperty in paths.EnumerateObject()
+ .Where(value => IsApiPath(value.Name))
+ .OrderBy(value => value.Name, StringComparer.Ordinal))
+ {
+ foreach (var operationProperty in pathProperty.Value.EnumerateObject()
+ .Where(value => HttpMethods.Contains(value.Name, StringComparer.Ordinal))
+ .OrderBy(value => Array.IndexOf(HttpMethods, value.Name)))
+ {
+ var operation = operationProperty.Value;
+ var tag = operation.TryGetProperty("tags", out var tags) && tags.GetArrayLength() > 0
+ ? tags[0].GetString() ?? "API"
+ : "API";
+ if (!folders.TryGetValue(tag, out var requests))
+ {
+ requests = [];
+ folders[tag] = requests;
+ }
+
+ requests.Add(CreateRequest(
+ openApi,
+ operationProperty.Name.ToUpperInvariant(),
+ pathProperty.Name,
+ pathProperty.Value,
+ operation,
+ parameterNames));
+ }
+ }
+
+ var referenceFolders = new JsonArray();
+ foreach (var tag in folders.Keys.OrderBy(TagOrder).ThenBy(value => value, StringComparer.Ordinal))
+ referenceFolders.Add(new JsonObject { ["name"] = tag, ["item"] = folders[tag] });
+
+ var scenario = JsonNode.Parse(File.ReadAllText(scenarioPath))?.AsObject()
+ ?? throw new InvalidOperationException($"Invalid Postman scenario file: {scenarioPath}");
+ var scenarioItems = scenario["item"]?.DeepClone() ?? new JsonArray();
+
+ var variables = BaseVariables();
+ MergeScenarioVariables(variables, scenario);
+ foreach (var parameterName in parameterNames)
+ {
+ if (variables.Any(node => string.Equals(node?["key"]?.GetValue(), parameterName, StringComparison.Ordinal))) continue;
+ variables.Add(Variable(parameterName, DefaultParameterValue(parameterName)));
+ }
+
+ return new JsonObject
+ {
+ ["info"] = new JsonObject
+ {
+ ["_postman_id"] = "286ad89f-2ce7-4a63-9ed0-fcb6078864ba",
+ ["name"] = "Agentstration HTTP API",
+ ["description"] = "Generated from Agentstration's authoritative OpenAPI document. API Reference is regenerated; Scenarios are curated. SignalR and MCP are separate transports. See dev/postman/README.md.",
+ ["schema"] = "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+ },
+ ["event"] = new JsonArray
+ {
+ new JsonObject
+ {
+ ["listen"] = "prerequest",
+ ["script"] = Script(
+ "const token = pm.environment.get('bearerToken') || pm.collectionVariables.get('bearerToken');",
+ "if (token) pm.request.headers.upsert({ key: 'Authorization', value: `Bearer ${token}` });",
+ "else pm.request.headers.remove('Authorization');")
+ }
+ },
+ ["variable"] = variables,
+ ["item"] = new JsonArray
+ {
+ new JsonObject { ["name"] = "API Reference", ["item"] = referenceFolders },
+ new JsonObject { ["name"] = "Scenarios", ["description"] = "Curated requests intended to be run in folder order.", ["item"] = scenarioItems }
+ }
+ };
+ }
+
+ private static JsonObject CreateRequest(
+ JsonElement openApi,
+ string method,
+ string path,
+ JsonElement pathItem,
+ JsonElement operation,
+ ISet parameterNames)
+ {
+ var parameters = Parameters(pathItem, operation).ToArray();
+ foreach (var parameter in parameters)
+ {
+ if (parameter.TryGetProperty("name", out var parameterName) && parameterName.GetString() is { Length: > 0 } value)
+ parameterNames.Add(value);
+ }
+
+ var name = operation.TryGetProperty("summary", out var summary) && !string.IsNullOrWhiteSpace(summary.GetString())
+ ? summary.GetString()!
+ : operation.TryGetProperty("operationId", out var operationId)
+ ? operationId.GetString() ?? $"{method} {path}"
+ : $"{method} {path}";
+ var description = BuildDescription(method, path, operation);
+ var headers = new JsonArray { new JsonObject { ["key"] = "Accept", ["value"] = PreferredResponseMediaType(operation) } };
+ var request = new JsonObject
+ {
+ ["method"] = method,
+ ["header"] = headers,
+ ["url"] = CreateUrl(path, parameters),
+ ["description"] = description
+ };
+
+ if (operation.TryGetProperty("requestBody", out var requestBody))
+ {
+ var body = CreateBody(openApi, requestBody, headers);
+ if (body is not null) request["body"] = body;
+ }
+
+ return new JsonObject
+ {
+ ["name"] = name,
+ ["request"] = request,
+ ["response"] = new JsonArray()
+ };
+ }
+
+ private static IEnumerable Parameters(JsonElement pathItem, JsonElement operation)
+ {
+ if (pathItem.TryGetProperty("parameters", out var pathParameters))
+ foreach (var parameter in pathParameters.EnumerateArray()) yield return parameter;
+ if (operation.TryGetProperty("parameters", out var operationParameters))
+ foreach (var parameter in operationParameters.EnumerateArray()) yield return parameter;
+ }
+
+ private static JsonObject CreateUrl(string path, IReadOnlyCollection parameters)
+ {
+ var postmanPath = PathParameterRegex().Replace(path, "{{$1}}");
+ var query = new JsonArray();
+ foreach (var parameter in parameters.Where(value => value.GetProperty("in").GetString() == "query"))
+ {
+ var name = parameter.GetProperty("name").GetString()!;
+ var required = parameter.TryGetProperty("required", out var requiredValue) && requiredValue.GetBoolean();
+ query.Add(new JsonObject
+ {
+ ["key"] = name,
+ ["value"] = $"{{{{{name}}}}}",
+ ["description"] = parameter.TryGetProperty("description", out var description) ? description.GetString() : null,
+ ["disabled"] = !required
+ });
+ }
+
+ var rawQuery = query.Count == 0
+ ? string.Empty
+ : "?" + string.Join("&", query.Select(value => $"{value!["key"]!.GetValue()}={value["value"]!.GetValue()}"));
+ var url = new JsonObject
+ {
+ ["raw"] = $"{{{{baseUrl}}}}{postmanPath}{rawQuery}",
+ ["host"] = new JsonArray("{{baseUrl}}"),
+ ["path"] = new JsonArray(postmanPath.Trim('/').Split('/', StringSplitOptions.RemoveEmptyEntries)
+ .Select(value => (JsonNode?)JsonValue.Create(value)).ToArray())
+ };
+ if (query.Count > 0) url["query"] = query;
+ return url;
+ }
+
+ private static JsonObject? CreateBody(JsonElement openApi, JsonElement requestBody, JsonArray headers)
+ {
+ if (!requestBody.TryGetProperty("content", out var content) || content.GetRawText() == "{}") return null;
+ var media = content.EnumerateObject().OrderBy(MediaTypeOrder).First();
+ if (media.Name.Equals("multipart/form-data", StringComparison.OrdinalIgnoreCase))
+ {
+ headers.Add(new JsonObject { ["key"] = "Content-Type", ["value"] = media.Name, ["disabled"] = true });
+ var formData = new JsonArray();
+ if (media.Value.TryGetProperty("schema", out var schema) && schema.TryGetProperty("properties", out var properties))
+ {
+ foreach (var property in properties.EnumerateObject())
+ {
+ var binary = property.Value.TryGetProperty("format", out var format) && format.GetString() == "binary";
+ formData.Add(new JsonObject
+ {
+ ["key"] = property.Name,
+ ["type"] = binary ? "file" : "text",
+ ["src"] = binary ? new JsonArray() : null,
+ ["value"] = binary ? null : string.Empty
+ });
+ }
+ }
+ return new JsonObject { ["mode"] = "formdata", ["formdata"] = formData };
+ }
+
+ if (media.Name.Equals("application/zip", StringComparison.OrdinalIgnoreCase)
+ || media.Name.Equals("application/octet-stream", StringComparison.OrdinalIgnoreCase))
+ {
+ headers.Add(new JsonObject { ["key"] = "Content-Type", ["value"] = media.Name });
+ return new JsonObject { ["mode"] = "file", ["file"] = new JsonObject { ["src"] = string.Empty } };
+ }
+
+ headers.Add(new JsonObject { ["key"] = "Content-Type", ["value"] = media.Name });
+ var example = media.Value.TryGetProperty("schema", out var bodySchema)
+ ? Example(openApi, bodySchema, 0, [])
+ : null;
+ return new JsonObject
+ {
+ ["mode"] = "raw",
+ ["raw"] = example is null
+ ? "{}"
+ : NormalizeLineEndings(example.ToJsonString(new JsonSerializerOptions { WriteIndented = true })),
+ ["options"] = new JsonObject { ["raw"] = new JsonObject { ["language"] = "json" } }
+ };
+ }
+
+ private static JsonNode? Example(JsonElement openApi, JsonElement schema, int depth, HashSet references)
+ {
+ if (depth > 8) return null;
+ if (schema.TryGetProperty("example", out var explicitExample)) return JsonNode.Parse(explicitExample.GetRawText());
+ if (schema.TryGetProperty("default", out var defaultValue)) return JsonNode.Parse(defaultValue.GetRawText());
+ if (schema.TryGetProperty("enum", out var values) && values.GetArrayLength() > 0) return JsonNode.Parse(values[0].GetRawText());
+ if (schema.TryGetProperty("$ref", out var referenceValue))
+ {
+ var reference = referenceValue.GetString()!;
+ if (!references.Add(reference)) return null;
+ var resolved = ResolveReference(openApi, reference);
+ var value = Example(openApi, resolved, depth + 1, references);
+ references.Remove(reference);
+ return value;
+ }
+ if (schema.TryGetProperty("allOf", out var allOf))
+ {
+ var merged = new JsonObject();
+ foreach (var candidate in allOf.EnumerateArray())
+ if (Example(openApi, candidate, depth + 1, references) is JsonObject part)
+ foreach (var property in part) merged[property.Key] = property.Value?.DeepClone();
+ return merged;
+ }
+ foreach (var keyword in new[] { "oneOf", "anyOf" })
+ if (schema.TryGetProperty(keyword, out var choices) && choices.GetArrayLength() > 0)
+ return Example(openApi, choices[0], depth + 1, references);
+
+ var type = SchemaType(schema);
+ if (type == "object" || schema.TryGetProperty("properties", out _))
+ {
+ var result = new JsonObject();
+ if (schema.TryGetProperty("properties", out var properties))
+ foreach (var property in properties.EnumerateObject())
+ result[property.Name] = Example(openApi, property.Value, depth + 1, references);
+ return result;
+ }
+ if (type == "array")
+ {
+ var array = new JsonArray();
+ if (schema.TryGetProperty("items", out var items)) array.Add(Example(openApi, items, depth + 1, references));
+ return array;
+ }
+ if (type == "boolean") return false;
+ if (type == "integer" || type == "number") return 0;
+ if (schema.TryGetProperty("format", out var formatValue))
+ {
+ return formatValue.GetString() switch
+ {
+ "uuid" => "00000000-0000-0000-0000-000000000000",
+ "date-time" => "2026-01-01T00:00:00Z",
+ "date" => "2026-01-01",
+ "uri" => "https://example.invalid/",
+ _ => string.Empty
+ };
+ }
+ return string.Empty;
+ }
+
+ private static string? SchemaType(JsonElement schema)
+ {
+ if (!schema.TryGetProperty("type", out var type)) return null;
+ if (type.ValueKind == JsonValueKind.String) return type.GetString();
+ if (type.ValueKind != JsonValueKind.Array) return null;
+ return type.EnumerateArray()
+ .Where(value => value.ValueKind == JsonValueKind.String)
+ .Select(value => value.GetString())
+ .FirstOrDefault(value => value is not null && !value.Equals("null", StringComparison.Ordinal));
+ }
+
+ private static JsonElement ResolveReference(JsonElement openApi, string reference)
+ {
+ const string prefix = "#/components/schemas/";
+ if (!reference.StartsWith(prefix, StringComparison.Ordinal))
+ throw new InvalidOperationException($"Unsupported OpenAPI reference: {reference}");
+ var name = reference[prefix.Length..].Replace("~1", "/", StringComparison.Ordinal).Replace("~0", "~", StringComparison.Ordinal);
+ return openApi.GetProperty("components").GetProperty("schemas").GetProperty(name);
+ }
+
+ private static string BuildDescription(string method, string path, JsonElement operation)
+ {
+ var lines = new List();
+ if (operation.TryGetProperty("description", out var description) && !string.IsNullOrWhiteSpace(description.GetString()))
+ lines.Add(description.GetString()!);
+ lines.Add(operation.TryGetProperty("security", out var security) && security.GetArrayLength() > 0
+ ? "Authentication: local session cookie or Bearer JWT/Agentstration PAT."
+ : "Authentication: anonymous.");
+ if (method == "DELETE") lines.Add("Caution: destructive operation.");
+ if (path.EndsWith("/events", StringComparison.OrdinalIgnoreCase)) lines.Add("This request returns a server-sent event stream and remains open while events are produced.");
+ if (operation.TryGetProperty("responses", out var responses))
+ {
+ var outcomes = responses.EnumerateObject()
+ .OrderBy(value => value.Name, StringComparer.Ordinal)
+ .Select(value => $"{value.Name}: {(value.Value.TryGetProperty("description", out var responseDescription) ? responseDescription.GetString() : "Response")}");
+ lines.Add("Responses: " + string.Join("; ", outcomes));
+ }
+ return string.Join("\n\n", lines.Select(NormalizeLineEndings));
+ }
+
+ private static string PreferredResponseMediaType(JsonElement operation)
+ {
+ if (!operation.TryGetProperty("responses", out var responses)) return "application/json";
+ foreach (var response in responses.EnumerateObject().OrderBy(value => value.Name, StringComparer.Ordinal))
+ if (response.Value.TryGetProperty("content", out var content))
+ return content.EnumerateObject().Select(value => value.Name).FirstOrDefault() ?? "application/json";
+ return "application/json";
+ }
+
+ private static int MediaTypeOrder(JsonProperty media) => media.Name switch
+ {
+ "application/json" => 0,
+ "multipart/form-data" => 1,
+ "application/zip" => 2,
+ "application/octet-stream" => 3,
+ _ when media.Name.EndsWith("+json", StringComparison.OrdinalIgnoreCase) => 0,
+ _ => 10
+ };
+
+ private static JsonArray BaseVariables() =>
+ [
+ Variable("scheme", "http"),
+ Variable("host", "localhost"),
+ Variable("port", "5100"),
+ Variable("baseUrl", "{{scheme}}://{{host}}:{{port}}"),
+ Variable("userName", "admin"),
+ Variable("password", string.Empty),
+ Variable("bearerToken", string.Empty),
+ Variable("namespace", "default"),
+ Variable("workspaceName", "default"),
+ Variable("skip", "0"),
+ Variable("take", "50")
+ ];
+
+ private static void MergeScenarioVariables(JsonArray target, JsonObject scenario)
+ {
+ if (scenario["variable"] is not JsonArray variables) return;
+ var existing = target.Select(node => node?["key"]?.GetValue()).Where(value => value is not null).ToHashSet(StringComparer.Ordinal);
+ foreach (var variable in variables)
+ {
+ var key = variable?["key"]?.GetValue();
+ if (key is null || existing.Contains(key) || key is "baseUrl" or "userName" or "password" or "bearerToken") continue;
+ target.Add(variable!.DeepClone());
+ existing.Add(key);
+ }
+ }
+
+ private static JsonObject Variable(string key, string value) => new() { ["key"] = key, ["value"] = value, ["type"] = "string" };
+
+ private static string DefaultParameterValue(string name) => name switch
+ {
+ "namespace" => "default",
+ "workspaceName" => "default",
+ "skip" => "0",
+ "take" or "limit" => "50",
+ _ => string.Empty
+ };
+
+ private static JsonObject CreateEnvironment(string name, string id, string host, string port) => new()
+ {
+ ["id"] = id,
+ ["name"] = name,
+ ["values"] = new JsonArray
+ {
+ EnvironmentValue("scheme", "http", true),
+ EnvironmentValue("host", host, true),
+ EnvironmentValue("port", port, true),
+ EnvironmentValue("userName", "admin", true),
+ EnvironmentValue("password", string.Empty, true),
+ EnvironmentValue("bearerToken", string.Empty, true),
+ EnvironmentValue("namespace", "default", true),
+ EnvironmentValue("workspaceName", "default", true)
+ },
+ ["_postman_variable_scope"] = "environment",
+ ["_postman_exported_at"] = "2026-09-11T00:00:00.000Z",
+ ["_postman_exported_using"] = "Agentstration.Postman",
+ ["schema"] = "https://schema.getpostman.com/json/environment/v2.1.0/environment.json"
+ };
+
+ private static JsonObject EnvironmentValue(string key, string value, bool enabled) =>
+ new() { ["key"] = key, ["value"] = value, ["type"] = "default", ["enabled"] = enabled };
+
+ private static JsonObject Script(params string[] lines) =>
+ new() { ["type"] = "text/javascript", ["exec"] = new JsonArray(lines.Select(value => (JsonNode?)JsonValue.Create(value)).ToArray()) };
+
+ private static int TagOrder(string tag)
+ {
+ var index = Array.IndexOf(PreferredTagOrder, tag);
+ return index >= 0 ? index : PreferredTagOrder.Length;
+ }
+
+ private static bool IsApiPath(string path) => path.Equals("/health", StringComparison.OrdinalIgnoreCase)
+ || path.StartsWith("/health/", StringComparison.OrdinalIgnoreCase)
+ || path.StartsWith("/api/", StringComparison.OrdinalIgnoreCase);
+
+ private static string Serialize(JsonNode node) =>
+ NormalizeLineEndings(node.ToJsonString(new JsonSerializerOptions { WriteIndented = true })) + "\n";
+
+ private static string NormalizeLineEndings(string value) =>
+ value.Replace("\r\n", "\n", StringComparison.Ordinal).Replace('\r', '\n');
+
+ private static bool SameContent(string current, string expected) =>
+ string.Equals(current.Replace("\r\n", "\n", StringComparison.Ordinal), expected.Replace("\r\n", "\n", StringComparison.Ordinal), StringComparison.Ordinal);
+
+ private static string FindRepositoryRoot()
+ {
+ for (var directory = new DirectoryInfo(Environment.CurrentDirectory); directory is not null; directory = directory.Parent)
+ if (File.Exists(Path.Combine(directory.FullName, "Agentstration.slnx"))) return directory.FullName;
+ throw new InvalidOperationException("Could not locate the Agentstration repository root.");
+ }
+
+ [GeneratedRegex("\\{([^}:]+)(?::[^}]+)?\\}", RegexOptions.CultureInvariant)]
+ private static partial Regex PathParameterRegex();
+}