Janssen Config API

The Janssen Config API is the OAuth-protected administrative REST API for every Janssen Server and Gluu Flex component — clients, scopes, custom scripts, Agama flows, attributes, SMTP, persistence, logging, SAML and more. 133 operations across 78 paths in the core spec, plus seven plugin specs covering FIDO2, the Admin UI, user management, Jans Lock audit, metrics, Jans Link and SCIM config.

Operations 133

GET /api/v1/health/app-version Returns application version #
GET /api/v1/health Returns application health status #
GET /api/v1/health/live Returns application liveness status #
GET /api/v1/health/ready Returns application readiness status #
GET /api/v1/health/server-stat Returns application server status #
GET /api/v1/health/service-status Fetch service status #
GET /api/v1/acrs Gets default authentication method. #
PUT /api/v1/acrs Updates default authentication method. #
GET /api/v1/agama-deployment/{name} Retrieve details of a single deployment by name. #
POST /api/v1/agama-deployment/{name} Add or replace an Agama project to the server. #
DELETE /api/v1/agama-deployment/{name} Undeploy an Agama project from the server. #
GET /api/v1/agama-deployment/configs/{name} Retrieve the configurations associated to flows that belong to the project of interest. The project must have been already processed fully. #
PUT /api/v1/agama-deployment/configs/{name} Set or replace the configurations associated to flows that belong to the project. The project must have been already processed fully. #
GET /api/v1/agama-deployment Retrieve the list of projects deployed currently. #
GET /api/v1/agama-repo/download Download agama project. #
GET /api/v1/agama-repo Gets all agama repositories. #
POST /api/v1/agama/syntax-check/{qname} Determine if the text passed is valid Agama code #
GET /api/v1/jans-assets/{inum} Gets an asset by inum - unique identifier #
DELETE /api/v1/jans-assets/{inum} Delete an asset #
GET /api/v1/jans-assets/name/{name} Fetch asset by name #
GET /api/v1/jans-assets/asset-dir-mapping Get valid asset types #
GET /api/v1/jans-assets Gets all Jans assets. #
GET /api/v1/jans-assets/services Gets asset services #
GET /api/v1/jans-assets/asset-type Get valid asset types #
POST /api/v1/jans-assets/service/{service-name} Load assets on server for a service #
PUT /api/v1/jans-assets/upload Update existing asset #
POST /api/v1/jans-assets/upload Upload new asset #
GET /api/v1/attributes Gets a list of Jans attributes. #
PUT /api/v1/attributes Updates an existing attribute #
POST /api/v1/attributes Adds a new attribute #
GET /api/v1/attributes/{inum} Gets an attribute based on inum #
DELETE /api/v1/attributes/{inum} Deletes an attribute based on inum #
PATCH /api/v1/attributes/{inum} Partially modify a JansAttribute #
GET /api/v1/audit Get audit details. #
GET /api/v1/jans-auth-server/config Gets all Jans authorization server configuration properties. #
PATCH /api/v1/jans-auth-server/config Partially modifies Jans authorization server Application configuration properties. #
GET /api/v1/jans-auth-server/config/feature-flags Returns feature flags type configured for Jans authorization server. #
GET /api/v1/jans-auth-server/config/persistence Returns persistence type configured for Jans authorization server. #
GET /api/v1/config/cache Returns cache configuration. #
PATCH /api/v1/config/cache Patch cache configuration. #
GET /api/v1/config/cache/in-memory Returns in-Memory cache configuration. #
PUT /api/v1/config/cache/in-memory Updates in-Memory cache configuration. #
PATCH /api/v1/config/cache/in-memory Patch In-Memory cache configuration. #
GET /api/v1/config/cache/memcached Returns memcached cache configuration. #
PUT /api/v1/config/cache/memcached Updates memcached cache configuration. #
PATCH /api/v1/config/cache/memcached Patch memcached cache configuration. #
GET /api/v1/config/cache/native-persistence Returns native persistence cache configuration. #
PUT /api/v1/config/cache/native-persistence Updates native persistence cache configuration. #
PATCH /api/v1/config/cache/native-persistence Patch native persistence cache configuration. #
GET /api/v1/config/cache/redis Returns Redis cache configuration. #
PUT /api/v1/config/cache/redis Updates Redis cache configuration. #
PATCH /api/v1/config/cache/redis Patch Redis cache configuration. #
DELETE /api/v1/clients/authorizations/{userId}/{clientId}/{username} Revoke client authorization #
GET /api/v1/clients/authorizations/{userId} Gets list of client authorization #
GET /api/v1/openid/clients Gets list of OpenID Connect clients #
PUT /api/v1/openid/clients Update OpenId Connect client #
POST /api/v1/openid/clients Create new OpenId Connect client #
GET /api/v1/openid/clients/{inum} Get OpenId Connect Client by Inum #
DELETE /api/v1/openid/clients/{inum} Delete OpenId Connect client #
PATCH /api/v1/openid/clients/{inum} Patch OpenId Connect client #
GET /api/v1/api-config Gets config-api configuration properties. #
PATCH /api/v1/api-config Partially modifies config-api configuration properties. #
GET /api/v1/config/smtp Returns SMTP server configuration #
PUT /api/v1/config/smtp Updates SMTP server configuration #
POST /api/v1/config/smtp Adds SMTP server configuration #
DELETE /api/v1/config/smtp Deletes SMTP server configuration #
POST /api/v1/config/smtp/test Signing Test SMTP server configuration #
GET /api/v1/config/scripts Gets a list of custom scripts #
PUT /api/v1/config/scripts Updates a custom script #
POST /api/v1/config/scripts Adds a new custom script #
DELETE /api/v1/config/scripts/{inum} Deletes a custom script #
PATCH /api/v1/config/scripts/{inum} Patches a custom script #
GET /api/v1/config/scripts/inum/{inum} Gets a script by Inum #
GET /api/v1/config/scripts/name/{name} Fetch custom script by name #
GET /api/v1/config/scripts/types Fetch custom script types #
GET /api/v1/config/scripts/script-types Fetch custom script types #
GET /api/v1/config/scripts/type/{type} Gets list of scripts by type #
GET /api/v1/config/database Gets schema objects #
GET /api/v1/jans-auth-server/health Returns auth server health status #
GET /api/v1/config/jwks/{kid} Get a JSON Web Key based on kid #
DELETE /api/v1/config/jwks/{kid} Delete a JSON Web Key based on kid #
PATCH /api/v1/config/jwks/{kid} Patch a specific JSON Web Key based on kid #
GET /api/v1/config/jwks Gets list of JSON Web Key (JWK) used by server #
PUT /api/v1/config/jwks Replaces JSON Web Keys #
PATCH /api/v1/config/jwks Patches JSON Web Keys #
POST /api/v1/config/jwks/key Configuration – JWK - JSON Web Key (JWK) #
GET /api/v1/config/database/ldap Gets list of existing LDAP configurations. #
PUT /api/v1/config/database/ldap Updates LDAP configuration #
POST /api/v1/config/database/ldap Adds a new LDAP configuration #
GET /api/v1/config/database/ldap/{name} Gets an LDAP configuration by name. #
DELETE /api/v1/config/database/ldap/{name} Deletes an LDAP configuration #
PATCH /api/v1/config/database/ldap/{name} Patches a LDAP configuration by name #
POST /api/v1/config/database/ldap/test Tests an LDAP configuration #
GET /api/v1/logging Returns Jans Authorization Server logging settings #
PUT /api/v1/logging Updates Jans Authorization Server logging settings #
GET /api/v1/config/message Returns message configuration. #
PATCH /api/v1/config/message Patch message configuration. #
GET /api/v1/config/message/postgres Returns Postgres message configuration. #
PUT /api/v1/config/message/postgres Updates Postgres message configuration. #
PATCH /api/v1/config/message/postgres Patch Postgres message configuration. #
GET /api/v1/config/message/redis Returns Redis message configuration. #
PUT /api/v1/config/message/redis Updates Redis message configuration. #
PATCH /api/v1/config/message/redis Patch Redis message configuration. #
GET /api/v1/org Retrieves organization configuration #
PATCH /api/v1/org Patch organization configuration #
GET /api/v1/plugin Gets list of Plugins #
GET /api/v1/plugin/{pluginName} Check if plugin is deployed #
GET /api/v1/scopes Gets list of Scopes #
PUT /api/v1/scopes Update Scope #
POST /api/v1/scopes Create Scope #
GET /api/v1/scopes/{inum} Get Scope by Inum #
DELETE /api/v1/scopes/{inum} Delete Scope #
PATCH /api/v1/scopes/{inum} Patch Scope #
GET /api/v1/scopes/creator/{creatorId} Get Scope by creatorId #
GET /api/v1/scopes/type/{type} Get Scope by type #
GET /api/v1/jans-auth-server/session/sid/{sid} Get session by id. #
DELETE /api/v1/jans-auth-server/session/sid/{sid} Delete a session. #
DELETE /api/v1/jans-auth-server/session/user/{userDn} Revoke all sessions by userDn #
GET /api/v1/jans-auth-server/session Return all session #
GET /api/v1/jans-auth-server/session/search Search session #
DELETE /api/v1/jans-auth-server/ssa Revoke existing active SSA based on `jti` or `org_id` #
GET /api/v1/stat Provides server with basic statistic #
GET /api/v1/token/client/{clientId} Get token details by client. #
GET /api/v1/token/tknCde/{tknCde} Get token details by Id. #
DELETE /api/v1/token/revoke/{tknCde} Revoke client token. #
GET /api/v1/token/search Search tokens #
GET /api/v1/uma/resources Gets list of UMA resources #
PUT /api/v1/uma/resources Updates an UMA resource #
POST /api/v1/uma/resources Creates an UMA resource #
GET /api/v1/uma/resources/{id} Gets an UMA resource by ID #
DELETE /api/v1/uma/resources/{id} Deletes an UMA resource #
PATCH /api/v1/uma/resources/{id} Patch UMA resource #
GET /api/v1/uma/resources/clientId/{clientId} Fetch uma resources by client id #

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jans-config-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gluu-jans-config-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Jans Config API
  contact:
    name: Contact
    url: https://github.com/JanssenProject/jans/discussions
  license:
    name: License
    url: https://github.com/JanssenProject/jans/blob/main/LICENSE
  version: OAS Version
servers:
- url: https://jans.local.io
  description: The Jans server
tags:
- name: Attribute
- name: Default Authentication Method
- name: Cache Configuration
- name: Cache Configuration – Memcached
- name: Cache Configuration – Redis
- name: Cache Configuration – in-Memory
- name: Cache Configuration – Native-Persistence
- name: Configuration – Properties
- name: Configuration – SMTP
- name: Configuration – Logging
- name: Configuration – JWK - JSON Web Key (JWK)
- name: Custom Scripts
- name: Database - LDAP configuration
- name: OAuth - OpenID Connect - Clients
- name: OAuth - UMA Resources
- name: OAuth - Scopes
- name: Agama - Configuration
- name: Agama
- name: Statistics - User
- name: Health - Check
- name: Server Stats
- name: Auth - Session Management
- name: Organization Configuration
- name: Auth Server Health - Check
- name: Plugins
- name: Configuration – Config API
- name: Client Authorization
- name: Jans Assets
- name: Token
- name: Logs
- name: Database
- name: Software Statement Assertion (SSA)
paths:
  /api/v1/health/app-version:
    get:
      tags:
      - Health - Check
      summary: Returns application version
      description: Returns application version
      operationId: get-app-version
      parameters:
      - name: artifact
        in: query
        description: artifact name for which version is requied else ALL
        schema:
          type: string
          default: all
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonNode"
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/app-version.readonly
      - oauth2:
        - https://jans.io/oauth/config/health.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
  /api/v1/health:
    get:
      tags:
      - Health - Check
      summary: Returns application health status
      description: Returns application health status
      operationId: get-config-health
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/HealthStatus"
        "500":
          description: InternalServerError
  /api/v1/health/live:
    get:
      tags:
      - Health - Check
      summary: Returns application liveness status
      description: Returns application liveness status
      operationId: get-config-health-live
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Status"
        "500":
          description: InternalServerError
  /api/v1/health/ready:
    get:
      tags:
      - Health - Check
      summary: Returns application readiness status
      description: Returns application readiness status
      operationId: get-config-health-ready
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Status"
        "500":
          description: InternalServerError
  /api/v1/health/server-stat:
    get:
      tags:
      - Health - Check
      summary: Returns application server status
      description: Returns application server status
      operationId: get-server-stat
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/StatsData"
              examples:
                Response json example:
                  description: Response json example
                  value: |
                    {
                        "dbType": "sql",
                        "lastUpdate": "2024-11-01T12:11:01",
                        "facterData": {
                            "memoryfree": "39.7%",
                            "swapfree": "0.0%",
                            "hostname": "pujavs-amazed-rat.gluu.info",
                            "ipaddress": "167.99.13.66",
                            "uptime": "1 day, 3:54",
                            "free_disk_space": "95.4%",
                            "load_average": "0.13623046875"
                        }
                    }
        "500":
          description: InternalServerError
  /api/v1/health/service-status:
    get:
      tags:
      - Health - Check
      summary: Fetch service status
      description: Fetch service status
      operationId: get-service-status
      parameters:
      - name: service
        in: query
        description: Service name to check status
        schema:
          type: string
          default: all
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonNode"
              examples:
                Response json example:
                  description: Response json example
                  value: |
                    {
                      "jans-auth": "Running",
                      "jans-config-api": "Down",
                      "jans-casa": "Not present",
                      "jans-fido2": "Running",
                      "jans-scim": "Running",
                      "jans-link": "Running",
                      "jans-lock": "Running"
                    }
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/data.readonly
      - oauth2:
        - https://jans.io/oauth/config/health.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
  /api/v1/acrs:
    get:
      tags:
      - Default Authentication Method
      summary: Gets default authentication method.
      description: Gets default authentication method.
      operationId: get-acrs
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationMethod"
              examples:
                Response example:
                  description: Response example
                  value: |
                    {
                      "defaultAcr": "basic"
                    }
        "401":
          description: Unauthorized
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/acrs.readonly
      - oauth2:
        - https://jans.io/oauth/config/acrs.write
      - oauth2:
        - https://jans.io/oauth/config/acrs.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
    put:
      tags:
      - Default Authentication Method
      summary: Updates default authentication method.
      description: Updates default authentication method.
      operationId: put-acrs
      requestBody:
        description: String representing patch-document.
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AuthenticationMethod"
            examples:
              Request json example:
                description: Request json example
                value: |
                  {
                    "defaultAcr": "basic"
                  }
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AuthenticationMethod"
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/acrs.write
      - oauth2:
        - https://jans.io/oauth/config/acrs.admin
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/agama-deployment/{name}:
    get:
      tags:
      - Agama
      summary: Retrieve details of a single deployment by name.
      description: Retrieve details of a single deployment by name.
      operationId: get-agama-prj-by-name
      parameters:
      - name: name
        in: path
        description: Agama project name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Agama project
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Deployment"
              examples:
                Response json example:
                  description: Response json example
                  value: ""
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
    post:
      tags:
      - Agama
      summary: Add or replace an Agama project to the server.
      description: Add or replace an Agama project to the server.
      operationId: post-agama-prj
      parameters:
      - name: name
        in: path
        description: Agama project name
        required: true
        schema:
          type: string
      - name: autoconfigure
        in: query
        description: 'Boolean value to indicating to auto configure the project '
        schema:
          type: string
      requestBody:
        description: Agama gama file
        content:
          application/zip:
            schema:
              type: string
              format: byte
      responses:
        "202":
          description: Agama project accepted
          content:
            application/zip:
              schema:
                type: string
              examples:
                Response json example:
                  description: Response json example
                  value: ""
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "409":
          description: Conflict
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/write-all
    delete:
      tags:
      - Agama
      summary: Undeploy an Agama project from the server.
      description: Undeploy an Agama project from the server.
      operationId: delete-agama-prj
      parameters:
      - name: name
        in: path
        description: Agama project name
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "409":
          description: Conflict
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.delete
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/delete-all
  /api/v1/agama-deployment/configs/{name}:
    get:
      tags:
      - Agama
      summary: Retrieve the configurations associated to flows that belong to the
        project of interest. The project must have been already processed fully.
      description: Retrieve the configurations associated to flows that belong to
        the project of interest. The project must have been already processed fully.
      operationId: get-agama-prj-configs
      parameters:
      - name: name
        in: path
        description: Agama project name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Agama projects configs
          content:
            application/json:
              schema:
                type: string
              examples:
                Response json example:
                  description: Response json example
                  value: ""
        "401":
          description: Unauthorized
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
    put:
      tags:
      - Agama
      summary: Set or replace the configurations associated to flows that belong to
        the project. The project must have been already processed fully.
      description: Set or replace the configurations associated to flows that belong
        to the project. The project must have been already processed fully.
      operationId: put-agama-prj
      parameters:
      - name: name
        in: path
        description: Agama project name
        required: true
        schema:
          type: string
      requestBody:
        description: 'JSON object with configurations associated to flows '
        content:
          application/json:
            schema:
              type: string
            examples:
              Request example:
                description: Request example
                value: |
                  {
                    "org.gluu.agama.ldap.pw.main": {
                      "lockConfig": {
                        "MAX_LOGIN_ATTEMPT": 6,
                        "ENABLE_LOCK": true,
                        "LOCK_EXP_TIME": 180
                      },
                      "useInternalLdapConfig": false,
                      "serversConfig": [
                        {
                          "configId": "ad_1",
                          "bindDN": "cn=directory manager",
                          "bindPassword": "encoded_password/plain_passowrd",
                          "servers": [
                            "localhost:1389"
                          ],
                          "maxConnections": 3,
                          "useSSL": false,
                          "baseDNs": [
                            "ou=people,o=jans"
                          ],
                          "loginAttributes": [
                            "uid"
                          ],
                          "localLoginAttributes": [
                            "uid"
                          ]
                        }
                      ]
                    }
                  }
      responses:
        "200":
          description: JSON object with properties values correspond to a boolean
            indicating the success of the update for the given flow.
          content:
            application/json:
              schema:
                type: string
              examples:
                Response json example:
                  description: Response json example
                  value: |
                    {"org.gluu.agama.ldap.pw.main"=true}
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "409":
          description: Conflict
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/agama-deployment:
    get:
      tags:
      - Agama
      summary: Retrieve the list of projects deployed currently.
      description: Retrieve the list of projects deployed currently.
      operationId: get-agama-prj
      parameters:
      - name: start
        in: query
        description: Start index for the result
        schema:
          type: integer
          format: int32
      - name: count
        in: query
        description: Search size - count of the results to return
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: Agama projects
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedResult"
              examples:
                Response json example:
                  description: Response json example
                  value: ""
        "401":
          description: Unauthorized
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/agama-repo/download:
    get:
      tags:
      - Agama
      summary: Download agama project.
      description: Download agama project.
      operationId: get-agama-project
      parameters:
      - name: downloadLink
        in: query
        description: Agama project download Link
        schema:
          type: string
      responses:
        "200":
          description: Agama project
          content:
            text/plain:
              schema:
                type: string
                format: binary
        "204":
          description: No Content
        "400":
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama-repo.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama-repo.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/agama-repo:
    get:
      tags:
      - Agama
      summary: Gets all agama repositories.
      description: Gets all agama repositories.
      operationId: get-agama-repositories
      responses:
        "200":
          description: Agama repositories
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonNode"
              examples:
                Response json example:
                  description: Response json example
                  value: ""
        "204":
          description: No Content
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama-repo.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama-repo.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/agama/syntax-check/{qname}:
    post:
      tags:
      - Agama - Configuration
      summary: Determine if the text passed is valid Agama code
      description: Determine if the text passed is valid Agama code
      operationId: agama-syntax-check
      parameters:
      - name: qname
        in: path
        description: Agama Flow name
        required: true
        schema:
          type: string
      requestBody:
        content:
          text/plain:
            schema:
              type: string
      responses:
        "200":
          description: Agama Syntax Check message
          content:
            application/json:
              schema:
                type: string
        "401":
          description: Unauthorized
        "500":
          description: InternalServerError
      security:
      - oauth2:
        - https://jans.io/oauth/config/agama.readonly
      - oauth2:
        - https://jans.io/oauth/config/agama.write
      - oauth2:
        - https://jans.io/oauth/config/agama.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/jans-assets/{inum}:
    get:
      tags:
      - Jans Assets
      summary: Gets an asset by inum - unique identifier
      description: Gets an asset by inum - unique identifier
      operationId: get-asset-by-inum
      parameters:
      - name: inum
        in: path
        description: Asset Inum
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedResult"
              examples:
                Response example:
                  description: Response example
                  value: |
                    {
                        "dn": "inum=0b436302-b729-4eb2-b211-335980dcab43,ou=document,o=jans",
                        "selected": false,
                        "inum": "0b436302-b729-4eb2-b211-335980dcab43",
                        "displayName": "mermaid-extra.css",
                        "description": "/opt/jans/jetty/jans-config-api/",
                        "document": ".mermaid {\r\n\toverflow: auto;\r\n}\r\n\r\n.mermaid svg {\r\n\twidth: 1315px;\r\n\theight: 600px;\r\n}\r\n",
                        "jansModuleProperty": [
                            "config-api",
                            "jar",
                            "/opt/jans/jetty/jans-config-api/custom/lib"
                        ],
                        "jansLevel": "1",
                        "jansRevision": "2",
                        "jansEnabled": true,
                        "baseDn": "inum=0b436302-b729-4eb2-b211-335980dcab43,ou=document,o=jans"
                    }
        "401":
          description: Unauthorized
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/asset.readonly
      - oauth2:
        - https://jans.io/oauth/config/asset.write
      - oauth2:
        - https://jans.io/oauth/config/asset.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
    delete:
      tags:
      - Jans Assets
      summary: Delete an asset
      description: Delete an asset
      operationId: delete-asset
      parameters:
      - name: inum
        in: path
        description: Asset identifier
        required: true
        schema:
          type: string
      responses:
        "204":
          description: No Content
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "401":
          description: Unauthorized
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/asset.delete
      - oauth2:
        - https://jans.io/oauth/config/asset.admin
      - oauth2:
        - https://jans.io/oauth/config/delete-all
  /api/v1/jans-assets/name/{name}:
    get:
      tags:
      - Jans Assets
      summary: Fetch asset by name
      description: Fetch asset by name.
      operationId: get-asset-by-name
      parameters:
      - name: name
        in: path
        description: Asset Name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentPagedResult"
              examples:
                Response example:
                  description: Response example
                  value: ""
        "401":
          description: Unauthorized
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/asset.readonly
      - oauth2:
        - https://jans.io/oauth/config/asset.write
      - oauth2:
        - https://jans.io/oauth/config/asset.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/jans-assets/asset-dir-mapping:
    get:
      tags:
      - Jans Assets
      summary: Get valid asset types
      description: Get valid asset types
      operationId: get-asset-dir-mapping
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/AssetDirMapping"
        "401":
          description: Unauthorized
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/asset.readonly
      - oauth2:
        - https://jans.io/oauth/config/asset.write
      - oauth2:
        - https://jans.io/oauth/config/asset.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/jans-assets:
    get:
      tags:
      - Jans Assets
      summary: Gets all Jans assets.
      description: Gets all Jans assets.
      operationId: get-all-assets
      parameters:
      - name: limit
        in: query
        description: Search size - max size of the results to return
        schema:
          type: integer
          format: int32
          default: 50
      - name: pattern
        in: query
        description: Search pattern
        schema:
          type: string
          default: ""
      - name: status
        in: query
        description: Status of the attribute
        schema:
          type: string
          default: all
      - name: startIndex
        in: query
        description: The 1-based index of the first query result
        schema:
          type: integer
          format: int32
          default: 0
      - name: sortBy
        in: query
        description: Attribute whose value will be used to order the returned response
        schema:
          type: string
          default: inum
      - name: sortOrder
        in: query
        description: Order in which the sortBy param is applied. Allowed values are
          "ascending" and "descending"
        schema:
          type: string
          default: ascending
      - name: fieldValuePair
        in: query
        description: Field and value pair for seraching
        schema:
          type: string
          default: ""
        examples:
          Field value example:
            description: Field value example
            value: "adminCanEdit=true,dataType=string"
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DocumentPagedResult"
              examples:
                Response example:
                  description: Response example
                  value: |
                    {
                        "start": 0,
                        "totalEntriesCount": 2,
                        "entriesCount": 2,
                        "entries": [
                            {
                                "dn": "inum=0b436302-b729-4eb2-b211-335980dcab43,ou=document,o=jans",
                                "selected": false,
                                "inum": "0b436302-b729-4eb2-b211-335980dcab43",
                                "displayName": "mermaid-extra.css",
                                "description": "/opt/jans/jetty/jans-config-api/",
                                "document": ".mermaid {\r\n\toverflow: auto;\r\n}\r\n\r\n.mermaid svg {\r\n\twidth: 1315px;\r\n\theight: 600px;\r\n}\r\n",
                                "jansModuleProperty": [
                                    "config-api",
                                    "jar",
                                    "/opt/jans/jetty/jans-config-api/custom/lib"
                                ],
                                "jansLevel": "1",
                                "jansRevision": "2",
                                "jansEnabled": true,
                                "baseDn": "inum=0b436302-b729-4eb2-b211-335980dcab43,ou=document,o=jans"
                            },
                            {
                                "dn": "inum=9d2f39f5-a910-4a03-a888-6f0f1ee03445,ou=document,o=jans",
                                "selected": false,
                                "inum": "9d2f39f5-a910-4a03-a888-6f0f1ee03445",
                                "displayName": "saml-plugin.jar",
                                "description": "/opt/jans/jetty/jans-config-api/",
                                "creationDate": "2024-03-14T12:53:00",
                                "jansModuleProperty": [
                                    "config-api",
                                    "jar",
                                    "/opt/jans/jetty/jans-config-api/custom/lib"
                                ],
                                "jansEnabled": true,
                                "baseDn": "inum=9d2f39f5-a910-4a03-a888-6f0f1ee03445,ou=document,o=jans"
                            }
                        ]
                    }
        "401":
          description: Unauthorized
        "500":
          description: InternalServerError
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
      security:
      - oauth2:
        - https://jans.io/oauth/config/asset.readonly
      - oauth2:
        - https://jans.io/oauth/config/asset.write
      - oauth2:
        - https://jans.io/oauth/config/asset.admin
      - oauth2:
        - https://jans.io/oauth/config/read-all
      - oauth2:
        - https://jans.io/oauth/config/write-all
  /api/v1/jans-assets/services:
    get:
      tags:
      - Jans Assets
      summary: Gets asset services
      description: Gets asset services
      operationId: get-asset-services
      responses:
        "200":
          description: Ok
          content:
            application/json:
       

# --- truncated at 32 KB (805 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gluu/refs/heads/main/openapi/gluu-jans-config-api-openapi.yml