Fortanix Misc API

The Misc API from Fortanix — 9 operation(s) for misc.

Operations 9

GET /sys/v1/services Check information about all connected services #
GET /sys/v1/health Check whether the server is handling requests #
GET /sys/v1/services/{name} Check information about the specified service #
POST /sys/v1/ldap/search/{ldap_id} Searches for LDAP objects in the specified LDAP directory. #
GET /saml/metadata.xml Get the SP metadata file for SAML configuration #
GET /sys/v1/info Returns info about the system. #
POST /sys/v1/ldap/test Test connection using the ldap SSO configuration saved in the account. #
GET /sys/v1/tls_certificates Returns all TLS Certs SPKIs of the DSM endpoints Deprecated(legacy), please use API "/sys/v1/tls_public_keys" instead #
GET /sys/v1/tls_public_keys Returns all TLS Certs SPKIs of the DSM endpoints #

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/fortanix-misc-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

fortanix-misc-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fortanix DSM REST Misc API
  description: "This is a set of REST APIs for accessing the Fortanix Data Security Manager. This includes APIs for managing accounts, and for performing cryptographic and key management operations. \n\n **Note:** \n- All binary input should be base64-encoded. These fields are marked with `format: byte`. \n- For forward compatibility, any API client is expected to ignore any fields in the response not explicitly mentioned in the documentation. We reserve the right to add new fields at any time to provide new functionality without affecting existing API clients. \n- PATCH requests accept a JSON value describing a partial update to the specified resource. All top-level fields in the PATCH request are optional. If an optional field is omitted, the existing value of that field is preserved. In general, for nested JSON objects, the request must provide the complete object value rather than a partial update."
  termsOfService: https://fortanix.com/legal/agreements-and-standard-terms
  contact:
    name: Fortanix Support
    url: https://support.fortanix.com/
    email: support@fortanix.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 0.1.0-20260710
servers:
- url: '{dsmEndpoint}'
  description: DSM Endpoint
  variables:
    dsmEndpoint:
      default: https://amer.smartkey.io
      description: Type your DSM server URL here (include https://)
tags:
- name: Misc
paths:
  /sys/v1/services:
    get:
      operationId: GetAllServices
      tags:
      - Misc
      summary: Check information about all connected services
      description: Returns the information regarding the status of all the connected services.
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllServicesResponse'
  /sys/v1/health:
    get:
      operationId: GetHealth
      tags:
      - Misc
      summary: Check whether the server is handling requests
      description: 'Returns a 200-class status code if the server is handling requests,

        or a 500-class status code if the server is having problems.'
      parameters:
      - $ref: '#/components/parameters/HealthParams'
      responses:
        '204':
          description: Nothing is returned on success
  /sys/v1/services/{name}:
    get:
      operationId: GetService
      tags:
      - Misc
      summary: Check information about the specified service
      description: Returns the information regarding the status of the specified service.
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
          maxLength: 4096
          pattern: ^[^\n]*[^\s\n][^\n]*$
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Service'
  /sys/v1/ldap/search/{ldap_id}:
    post:
      operationId: LdapSearch
      tags:
      - Misc
      security:
      - bearerToken: []
      - apiKeyAuth: []
      summary: Searches for LDAP objects in the specified LDAP directory.
      description: Searches for LDAP objects in the specified LDAP directory.
      parameters:
      - name: ldap_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LdapSearchRequest'
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LdapSearchResultEntry'
  /saml/metadata.xml:
    get:
      operationId: SamlSpMetadata
      tags:
      - Misc
      summary: Get the SP metadata file for SAML configuration
      description: 'Returns the Service Provider metadata file of this cluster, for SAML

        configuration. If this cluster has a SAML signing key, the public key is

        included in the SPSSODescriptor.'
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
                  minimum: 0
                  maximum: 255
  /sys/v1/info:
    get:
      operationId: SystemInfo
      tags:
      - Misc
      summary: Returns info about the system.
      description: Returns info about the system.
      parameters:
      - $ref: '#/components/parameters/SystemInfoParams'
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemInfoResponse'
  /sys/v1/ldap/test:
    post:
      operationId: TestLdapConfig
      tags:
      - Misc
      security:
      - bearerToken: []
      - apiKeyAuth: []
      summary: Test connection using the ldap SSO configuration saved in the account.
      description: Test connection using the ldap SSO configuration saved in the account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LdapTestRequest'
      responses:
        '204':
          description: Nothing is returned on success
  /sys/v1/tls_certificates:
    get:
      operationId: TlsCertsSpki
      tags:
      - Misc
      summary: 'Returns all TLS Certs SPKIs of the DSM endpoints

        Deprecated(legacy), please use API "/sys/v1/tls_public_keys" instead'
      description: 'Returns all TLS Certs SPKIs of the DSM endpoints

        Deprecated(legacy), please use API "/sys/v1/tls_public_keys" instead'
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TlsCertsSpkiResponse'
  /sys/v1/tls_public_keys:
    get:
      operationId: TlsPublicKeys
      tags:
      - Misc
      summary: Returns all TLS Certs SPKIs of the DSM endpoints
      description: Returns all TLS Certs SPKIs of the DSM endpoints
      responses:
        2XX:
          description: Success result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TlsPublicKeysResponse'
components:
  schemas:
    LdapAuthorizationConfig:
      allOf:
      - type: object
        description: LDAP authorization settings.
        properties:
          valid_for:
            type: integer
            description: Number of seconds after which the authorization should be checked again.
          require_role:
            type:
            - object
            - 'null'
            additionalProperties:
              type: string
            description: 'A map from account roles to distinguished names of LDAP groups.

              If a DN is specified for an account role, entities with that role

              must be a member of the specified LDAP group.'
          user_self_provisioning:
            $ref: '#/components/schemas/LdapUserSelfProvisioningConfig'
          role_conflict_resolution:
            $ref: '#/components/schemas/LdapRoleConflictResolution'
        required:
        - valid_for
    SystemInfoResponse:
      allOf:
      - type: object
        description: Information about the service version.
        properties:
          external_entropy:
            $ref: '#/components/schemas/ExternalEntropyInfo'
      - $ref: '#/components/schemas/VersionResponse'
    CaConfig:
      description: CA settings.
      oneOf:
      - title: CaConfigVariantCaSet
        type: object
        properties:
          ca_set:
            $ref: '#/components/schemas/CaSet'
        required:
        - ca_set
      - title: CaConfigVariantPinned
        type: object
        properties:
          pinned:
            type: array
            items:
              type: string
              format: byte
        required:
        - pinned
    LegacyLdapAccountRole:
      description: Role of a user or app in an account for the purpose of LDAP configurations.
      type: string
      enum:
      - ADMIN_USER
      - MEMBER_USER
      - AUDITOR_USER
      - ADMIN_APP
      - CRYPTO_APP
    Service:
      allOf:
      - type: object
        properties:
          name:
            type: string
          hostnames:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/HostnameInfo'
        required:
        - name
        - hostnames
    ServerMode:
      description: Server execution mode.
      type: string
      enum:
      - Software
      - Sgx
    SystemInfoParams:
      allOf:
      - type: object
        properties:
          detailed_fips_info:
            type: boolean
            description: 'Include FIPS-relevant info in the response. Currently that is `plugins_digest`.


              Only applicable to FIPS builds.'
    TlsCertificateSpki:
      allOf:
      - type: object
        properties:
          cert_spki:
            type: string
            format: byte
            description: The TbsCertificate's spki value.
          is_active:
            type: boolean
            description: True if the certificate is currently active.
        required:
        - cert_spki
        - is_active
    TlsPublicKeysResponse:
      allOf:
      - type: object
        properties:
          tls_public_keys:
            type: array
            items:
              $ref: '#/components/schemas/TlsPublicKeyInfo'
            description: 'A list of SPKIs(public keys) from leaf server certificates used for

              TLS connections by DSM.'
        required:
        - tls_public_keys
    LdapSearchScope:
      type: string
      enum:
      - single-level
      - whole-subtree
    LdapSearchResultEntry:
      allOf:
      - type: object
        properties:
          distinguished_name:
            type: string
          ldap_object_id:
            type: string
            format: uuid
          common_name:
            type: array
            items:
              type: string
          description:
            type: array
            items:
              type: string
          object_class:
            type: array
            items:
              type: string
          mail:
            type:
            - string
            - 'null'
          user_principal_name:
            type:
            - string
            - 'null'
        required:
        - distinguished_name
        - ldap_object_id
        - common_name
        - description
        - object_class
    TlsConfigRequired:
      allOf:
      - type: object
        properties:
          validate_hostname:
            type: boolean
          ca:
            $ref: '#/components/schemas/CaConfig'
          client_key:
            type: string
            format: byte
          client_cert:
            type: string
            format: byte
        required:
        - validate_hostname
        - ca
    TlsConfigVariantOpportunistic:
      allOf:
      - type: object
        properties:
          mode:
            type: string
            enum:
            - opportunistic
        required:
        - mode
      - type: object
        properties: {}
    LdapDnResolutionConstruct:
      allOf:
      - type: object
        description: Transform the user email through a pattern to derive the DN.
        properties:
          domain_format:
            type: object
            additionalProperties:
              type: string
            description: 'For example: "example.com" => "uid={},ou=users,dc=example,dc=com".'
        required:
        - domain_format
    UserAccountFlags:
      description: User's role(s) and state in an account.
      allOf:
      - type: array
        uniqueItems: true
        items:
          $ref: '#/components/schemas/UserAccountFlagOrRole'
    LdapTestRequest:
      allOf:
      - type: object
        properties:
          ldap:
            $ref: '#/components/schemas/AuthConfigLdap'
          test_credentials:
            $ref: '#/components/schemas/LdapTestCredentials'
        required:
        - ldap
    VersionResponse:
      allOf:
      - type: object
        description: Information about the service version.
        properties:
          version:
            type: string
            description: Server version. This is encoded as "major.minor.build".
          api_version:
            type: string
            description: The API version implemented by the server.
          server_mode:
            $ref: '#/components/schemas/ServerMode'
          fips_level:
            type:
            - integer
            - 'null'
            minimum: 0
            maximum: 255
            description: 'FIPS level at which the service in running. If this field is absent, then the service is

              not running in FIPS compliant mode.'
          plugins_digest:
            type: string
            format: byte
            description: 'An opaque digest of all current plugins.


              Only present when the server is running in FIPS mode.'
        required:
        - version
        - api_version
        - server_mode
    LdapDnResolutionVariantSearchByMail:
      allOf:
      - type: object
        properties:
          method:
            type: string
            enum:
            - search-by-mail
        required:
        - method
      - type: object
        properties: {}
    TlsPublicKeyInfo:
      allOf:
      - type: object
        properties:
          spki:
            type: string
            format: byte
            description: The TbsCertificate's spki value.
          is_active:
            type: boolean
            description: True if the certificate is currently active.
        required:
        - spki
        - is_active
    ExternalEntropySourceInfo:
      allOf:
      - type: object
        properties:
          name:
            type: string
          description:
            type:
            - string
            - 'null'
        required:
        - name
    HostnameInfo:
      allOf:
      - type: object
        properties:
          health_status:
            $ref: '#/components/schemas/HealthStatus'
          last_health_check:
            $ref: '#/components/schemas/HealthCheckInfo'
        required:
        - health_status
    LdapSearchFilter:
      allOf:
      - type: object
        properties:
          name:
            type: string
          value:
            type: string
        required:
        - name
        - value
    HealthStatus:
      type: string
      enum:
      - Healthy
      - Unhealthy
    LdapPrincipal:
      oneOf:
      - $ref: '#/components/schemas/LdapPrincipalUnresolved'
      - $ref: '#/components/schemas/LdapPrincipalResolved'
    AuthConfigLdap:
      allOf:
      - type: object
        description: LDAP authentication settings.
        properties:
          name:
            type: string
            description: A user-visible name to give this LDAP integration.
          icon_url:
            type: string
            description: 'The URL hosting an image to display for this LDAP integration.

              An empty string can also be specified (to indicate that no

              icon needs to be displayed).'
          ldap_url:
            type: string
            description: The URL of the LDAP server, e.g., "ldap://example.org".
          dn_resolution:
            $ref: '#/components/schemas/LdapDnResolution'
          tls:
            $ref: '#/components/schemas/TlsConfig'
          base_dn:
            type:
            - string
            - 'null'
            description: 'The subtree from which to perform LDAP searches; for example,

              "OU=users,DC=example,DC=org".'
          user_object_class:
            type:
            - string
            - 'null'
            description: 'The LDAP object class (e.g., "User") to use when looking up

              DSM users trying to authenticate. This field is required if

              the DN resolution method is search-by-mail or if authorization

              settings are enabled for this LDAP integraton.'
          service_account:
            $ref: '#/components/schemas/LdapServiceAccount'
          authorization:
            $ref: '#/components/schemas/LdapAuthorizationConfig'
        required:
        - name
        - icon_url
        - ldap_url
        - dn_resolution
        - tls
    LdapServiceAccount:
      allOf:
      - type: object
        description: Credentials used by the service to authenticate itself to an LDAP server.
        properties:
          dn:
            type: string
            description: Distinguished name of the service account.
          password:
            type: string
            description: The password for the service account.
        required:
        - dn
        - password
    LdapRoleConflictResolution:
      description: 'Controls how we resolve conflicting role assignments with LDAP authorization.


        When users are authorized through LDAP, their DSM group memberships are

        determined by their LDAP groups and the external role mappings created in

        DSM. For example, if the user belongs to 3 LDAP groups A, B and C, and these

        LDAP groups are mapped to DSM groups G1 and G2 in the following way:

        - A -> G1 as "group auditor"

        - B -> G1 as "group administrator"

        - C -> G2 as "group administrator"

        Then which role should be assigned to this user in G1?


        The answer to this question used to be simple before the introduction of

        custom user roles in DSM: we took the maximum of the roles. Note that the

        legacy roles (group admin/auditor) formed a strict "more powerful than"

        relation, i.e. group administrator is strictly more powerful than group

        auditor (and same is true for legacy account roles). However, custom user

        roles do not have that relationship anymore. Moreover, the legacy behavior

        is not quite square with the role exclusivity rules either since the legacy

        behavior can also be regarded as assigning multiple exclusive roles in the

        same group.


        After the introduction of custom user roles, we allow a user to have

        multiple roles in one group as long as none of the roles are marked as

        exclusive. That rule is easily enforceable in the user Invite API. With LDAP

        authorization, the group memberships are computed dynamically when the

        Select Account API is called and it is possible that we run into conflicting

        role assignments due to user''s LDAP group membership and current mappings

        between external roles (i.e. LDAP groups) and DSM groups.'
      type: string
      enum:
      - backcompat_legacy_roles_only
      - disregard_exclusive_roles
    ExternalEntropyInfo:
      allOf:
      - type: object
        description: Information about the service version.
        properties:
          external_entropy_sources:
            type: array
            items:
              $ref: '#/components/schemas/ExternalEntropySourceInfo'
        required:
        - external_entropy_sources
    UserAccountFlagOrRole:
      description: User account flag or legacy user account role name or custom role id
      oneOf:
      - $ref: '#/components/schemas/UserAccountFlag'
      - $ref: '#/components/schemas/LegacyUserAccountRole'
      - type: string
        format: uuid
    LdapDnResolution:
      description: 'Distinguished Name (DN) resolution method. Given a user''s email address, a DN resolution method

        is used to find the user''s DN in an LDAP directory.'
      oneOf:
      - $ref: '#/components/schemas/LdapDnResolutionVariantConstruct'
      - $ref: '#/components/schemas/LdapDnResolutionVariantSearchByMail'
      - $ref: '#/components/schemas/LdapDnResolutionVariantUserPrincipalName'
      discriminator:
        propertyName: method
        mapping:
          construct: LdapDnResolutionVariantConstruct
          search-by-mail: LdapDnResolutionVariantSearchByMail
          upn: LdapDnResolutionVariantUserPrincipalName
    LdapSearchRequest:
      allOf:
      - type: object
        properties:
          base_dn:
            type:
            - string
            - 'null'
          filters:
            type: array
            items:
              $ref: '#/components/schemas/LdapSearchFilter'
          object_class:
            type:
            - string
            - 'null'
          scope:
            $ref: '#/components/schemas/LdapSearchScope'
        required:
        - filters
        - scope
    LdapPrincipalUnresolved:
      allOf:
      - type: object
        properties:
          email:
            type: string
            format: email
        required:
        - email
    HealthCheckInfo:
      allOf:
      - type: object
        properties:
          initiated_at:
            type: string
            pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
            example: 20170509T070912Z
            description: The time the health check was initiated.
          finished_at:
            type: string
            pattern: ^\d{4}\d{2}\d{2}T\d{2}\d{2}\d{2}Z$
            example: 20170509T070912Z
            description: The time the health check finished (regardless of its outcome).
          result:
            type: string
            description: The result of the health check.
        required:
        - initiated_at
        - finished_at
        - result
    LdapUserSelfProvisioningConfig:
      allOf:
      - type: object
        description: 'LDAP user self-provisioning settings. Currently, the only

          setting available for configuration is the mapping from

          LDAP users to DSM account roles.'
        properties:
          role_assignment:
            $ref: '#/components/schemas/LdapUserSelfProvisioningRole'
        required:
        - role_assignment
    GetAllServicesResponse:
      allOf:
      - type: object
        properties:
          items:
            type: array
            items:
              $ref: '#/components/schemas/Service'
        required:
        - items
    TlsConfigVariantRequired:
      allOf:
      - type: object
        properties:
          mode:
            type: string
            enum:
            - required
        required:
        - mode
      - $ref: '#/components/schemas/TlsConfigRequired'
    LdapDnResolutionVariantUserPrincipalName:
      allOf:
      - type: object
        properties:
          method:
            type: string
            enum:
            - upn
        required:
        - method
      - type: object
        properties: {}
    CaSet:
      description: Predefined CA sets.
      type: string
      enum:
      - global_roots
    LdapUserSelfProvisioningRoleVariantFixed:
      allOf:
      - type: object
        properties:
          $type:
            type: string
            enum:
            - Fixed
        required:
        - $type
      - $ref: '#/components/schemas/LdapUserSelfProvisioningRoleFixed'
    TlsConfig:
      description: TLS client settings.
      oneOf:
      - $ref: '#/components/schemas/TlsConfigVariantDisabled'
      - $ref: '#/components/schemas/TlsConfigVariantOpportunistic'
      - $ref: '#/components/schemas/TlsConfigVariantRequired'
      discriminator:
        propertyName: mode
        mapping:
          disabled: TlsConfigVariantDisabled
          opportunistic: TlsConfigVariantOpportunistic
          required: TlsConfigVariantRequired
    LdapUserSelfProvisioningRoleFixed:
      allOf:
      - type: object
        description: 'Map all self-provisioned users to a single specified account role.

          (Note that this setting only determines the role that a self-

          provisioned user starts with; an account admin can change any user''s

          role at a later time.) A "state enabled" flag will be implicitly added,

          and any specified "pending invite" flag will be removed.'
        properties:
          role:
            $ref: '#/components/schemas/UserAccountFlags'
        required:
        - role
    TlsConfigVariantDisabled:
      allOf:
      - type: object
        properties:
          mode:
            type: string
            enum:
            - disabled
        required:
        - mode
      - type: object
        properties: {}
    LdapPrincipalResolved:
      allOf:
      - type: object
        properties:
          dn:
            type: string
        required:
        - dn
    LdapAccountRole:
      description: Role of a user or app in an account for the purpose of LDAP configurations.
      oneOf:
      - $ref: '#/components/schemas/LegacyLdapAccountRole'
      - type: string
        format: uuid
    TlsCertsSpkiResponse:
      allOf:
      - type: object
        properties:
          tls_certificates_info:
            type: array
            items:
              $ref: '#/components/schemas/TlsCertificateSpki'
            description: 'A list of leaf server certificates used for

              TLS connections by DSM.'
        required:
        - tls_certificates_info
    HealthParams:
      allOf:
      - type: object
        properties:
          consistency:
            type: string
          check_queues:
            type: boolean
    LdapTestCredentials:
      allOf:
      - type: object
        properties:
          password:
            type: string
          account_role:
            $ref: '#/components/schemas/LdapAccountRole'
        required:
        - password
      - $ref: '#/components/schemas/LdapPrincipal'
    LegacyUserAccountRole:
      description: Legacy user account role
      type: string
      enum:
      - ACCOUNTADMINISTRATOR
      - ACCOUNTMEMBER
      - ACCOUNTAUDITOR
    LdapDnResolutionVariantConstruct:
      allOf:
      - type: object
        properties:
          method:
            type: string
            enum:
            - construct
        required:
        - method
      - $ref: '#/components/schemas/LdapDnResolutionConstruct'
    UserAccountFlag:
      description: User account flag
      type: string
      enum:
      - STATEENABLED
      - PENDINGINVITE
    LdapUserSelfProvisioningRole:
      description: 'A structure indicating how self-provisioned LDAP users will

        be assigned account roles.'
      oneOf:
      - $ref: '#/components/schemas/LdapUserSelfProvisioningRoleVariantFixed'
      discriminator:
        propertyName: $type
        mapping:
          Fixed: LdapUserSelfProvisioningRoleVariantFixed
  parameters:
    SystemInfoParams:
      in: query
      name: SystemInfoParams
      schema:
        $ref: '#/components/schemas/SystemInfoParams'
      explode: true
    HealthParams:
      in: query
      name: HealthParams
      schema:
        $ref: '#/components/schemas/HealthParams'
      explode: true
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    apiKeyAuth:
      type: apiKey
      name: Authorization
      in: header
      description: Please enter your token prefixed with 'Basic ' (e.g., 'Basic your_token_here')
    bearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT