Fortanix Misc API
The Misc API from Fortanix — 9 operation(s) for misc.
Operations 9
2 of 9 operations are conformant: apis.io called them with no credentials and the responses matched this contract. Checked 2026-11-12. how this works · status file
The Misc API from Fortanix — 9 operation(s) for misc.
2 of 9 operations are conformant: apis.io called them with no credentials and the responses matched this contract. Checked 2026-11-12. how this works · status file
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/fortanix:fortanix-misc-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 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.
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…
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
responses:
2XX:
description: Success result
content:
application/json:
schema:
$ref: '#/components/schemas/TlsPublicKeysResponse'
components:
schemas:
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
HealthParams:
allOf:
- type: object
properties:
consistency:
type: string
check_queues:
type: boolean
Service:
allOf:
- type: object
properties:
name:
type: string
hostnames:
type: object
additionalProperties:
$ref: '#/components/schemas/HostnameInfo'
required:
- name
- hostnames
CaSet:
description: Predefined CA sets.
type: string
enum:
- global_roots
ServerMode:
description: Server execution mode.
type: string
enum:
- Software
- Sgx
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
LdapSearchScope:
type: string
enum:
- single-level
- whole-subtree
LdapPrincipalResolved:
allOf:
- type: object
properties:
dn:
type: string
required:
- dn
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
LdapDnResolutionVariantUserPrincipalName:
allOf:
- type: object
properties:
method:
type: string
enum:
- upn
required:
- method
- type: object
properties: {}
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
UserAccountFlag:
description: User account flag
type: string
enum:
- STATEENABLED
- PENDINGINVITE
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
LdapSearchFilter:
allOf:
- type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
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
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
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
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
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
HealthStatus:
type: string
enum:
- Healthy
- Unhealthy
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
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
SystemInfoResponse:
allOf:
- type: object
description: Information about the service version.
properties:
external_entropy:
$ref: '#/components/schemas/ExternalEntropyInfo'
- $ref: '#/components/schemas/VersionResponse'
TlsConfigVariantRequired:
allOf:
- type: object
properties:
mode:
type: string
enum:
- required
required:
- mode
- $ref: '#/components/schemas/TlsConfigRequired'
LdapPrincipalUnresolved:
allOf:
- type: object
properties:
email:
type: string
format: email
required:
- email
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
ExternalEntropySourceInfo:
allOf:
- type: object
properties:
name:
type: string
description:
type:
- string
- 'null'
required:
- name
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
HostnameInfo:
allOf:
- type: object
properties:
health_status:
$ref: '#/components/schemas/HealthStatus'
last_health_check:
$ref: '#/components/schemas/HealthCheckInfo'
required:
- health_status
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
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
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.'
LdapPrincipal:
oneOf:
- $ref: '#/components/schemas/LdapPrincipalUnresolved'
- $ref: '#/components/schemas/LdapPrincipalResolved'
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
TlsConfigVariantDisabled:
allOf:
- type: object
properties:
mode:
type: string
enum:
- disabled
required:
- mode
- type: object
properties: {}
TlsConfigVariantOpportunistic:
allOf:
- type: object
properties:
mode:
type: string
enum:
- opportunistic
required:
- mode
- type: object
properties: {}
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
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
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
LdapTestCredentials:
allOf:
- type: object
properties:
password:
type: string
account_role:
$ref: '#/components/schemas/LdapAccountRole'
required:
- password
- $ref: '#/components/schemas/LdapPrincipal'
LdapUserSelfProvisioningRoleVariantFixed:
allOf:
- type: object
properties:
$type:
type: string
enum:
- Fixed
required:
- $type
- $ref: '#/components/schemas/LdapUserSelfProvisioningRoleFixed'
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
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
LdapDnResolutionVariantConstruct:
allOf:
- type: object
properties:
method:
type: string
enum:
- construct
required:
- method
- $ref: '#/components/schemas/LdapDnResolutionConstruct'
GetAllServicesResponse:
allOf:
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Service'
required:
- items
LdapDnResolutionVariantSearchByMail:
allOf:
- type: object
properties:
method:
type: string
enum:
- search-by-mail
required:
- method
- type: object
properties: {}
LegacyUserAccountRole:
description: Legacy user account role
type: string
enum:
- ACCOUNTADMINISTRATOR
- ACCOUNTMEMBER
- ACCOUNTAUDITOR
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
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