How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Nerve Management System API

REST API of the Nerve Management System, the cloud-hosted control plane for Nerve edge nodes. Covers authentication and MFA, node registration and lifecycle, workload and workload-version management (Docker, docker-compose, CODESYS, VM), deployment and workload control, labels, LDAP integration, Nerve DNA declarative node configuration, remote connections, notifications, the Nerve Docker registry, node/cloud updates and usage reports. Session-cookie / sessionId authentication with basic and bearer variants; OpenAPI 3.0.3, 151 operations.

This API exposes 151 operations across 126 paths, organized into 24 resource areas, and defines 11 schemas. It is described by OpenAPI 3.0.3, at version 3.1.0.

Requests are made against a single base URL, https://trynerve1.nerve.cloud.

151 operations 126 paths 11 schemas 12 DELETE66 GET12 PATCH52 POST9 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
3.1.0
Base URL
https://trynerve1.nerve.cloud
Authentication
API Key, HTTP Basic, API Key, HTTP Bearer
Resource Areas
24

Authentication & Security 4

Nerve Management System API declares 4 security schemes for authenticating requests. An API key is passed in the header as sessionId (sessionId). It accepts HTTP basic authentication (basicAuth). An API key is passed in the header as cookie (cookieAuth). It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

Paths & Operations 151

Across 126 paths, the API surfaces 151 operations — 12 DELETE, 66 GET, 12 PATCH, 52 POST, 9 PUT. They span 24 resource areas, including WORKLOAD, NODE, WORKLOAD_v2, WL_VERSION_v2, WORKLOAD_v3, DOCKER_COMPOSE_FILE, WL_VERSION_v3, WL_VERSION_FILE, and 16 more. Each is listed below with its method, path, parameters, and response codes.

WORKLOAD 2

The operations to manage workloads v1.

POST
/nerve/workload/controller
Control life-cycle and workflow of the deployed workload
managing_deployed_workload body → 200400403404500
DELETE
/nerve/workload/{workloadId}
Delete the selected workload
delete_workload 1 param → 204403404
NODE 13

The operations to manage nodes v1.

GET
/nerve/workload/node/{serialNumber}/devices
Get list of deployed workloads on the selected node
list_deployed_workloads 2 params → 200400403404500504
POST
/nerve/node
Create a node
create_node body → 200400403404409500
GET
/nerve/node
Get the selected node
get_node_by_serial_number 1 param → 200400403404
GET
/nerve/node/{nodeId}
Get data of the selected node
get_node 2 params → 200400403404
DELETE
/nerve/node/{serialNumber}
Delete the selected node
delete_node 1 param → 204403404
POST
/nerve/node/{serialNumber}/reboot
Reboot the selected node
reboot_node 1 param body → 200400403404409500504
GET
/nerve/nodes/filtered/list
Get a list of filtered and sorted nodes
get_nodes_filtered 4 params → 200400403500
GET
/nerve/nodes/deploy/{workloadId}/{versionId}
Get a list of nodes for a possible deployment of the selected workload version
get_nodes_for_deploy 6 params → 200400403404
POST
/nerve/node/applyMonitoringAndLoggingSettings/{serialNumber}
Set monitoring and logging configuration of the selected node
setup_monitoring_and_logging 1 param body → 200400403404409500
GET
/nerve/node/monitoringAndLoggingSettings/{serialNumber}
Get the monitoring and logging configuration of the selected node
get_monitoring_and_logging 1 param → 200400403404409500
GET
/nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs
Get all activity logs
get_all_activity_logs 5 params → 200400403500
GET
/nerve/v2/node/{serialNumber}/versions/{versionId}/activity-logs/download
Get activity logs for a single workload
activity_logs_get_single 2 params → 200400401403404
GET
/nerve/v2/node/{serialNumber}/workloads/activity-logs/download
Get activity logs for all workloads of a single node
activity_logs_get_all 1 param → 200400401403404
WORKLOAD_v2 5

The operations to manage workloads v2.

POST
/nerve/v2/workloads
Create workload
create_workload_v2 body → 200400403404409415422500
PATCH
/nerve/v2/workloads
Update workload and version data
update_workload_version_v2 body → 200400403404409415422500
GET
/nerve/v2/workloads
Get list of all workloads
get_workloads_filtered 4 params → 200400403500
GET
/nerve/v2/workloads/{workloadId}
Get workload selected by ID
get_specific_workload 1 param → 200400403404422500
PATCH
/nerve/v2/workloads/{workloadId}
Update workload data
update_workload_general_data 1 param body → 200400403404409415422500
WL_VERSION_v2 1

The operations to manage specific versions of workloads v2

DELETE
/nerve/v2/workloads/{workloadId}/versions/{versionId}
Delete selected workload version
delete_workload_version 2 params → 200400403404422
WORKLOAD_v3 5

The operations to manage workloads v3.

POST
/nerve/v3/workloads
Create workload
create_workload_v3 body → 200400403409500
GET
/nerve/v3/workloads
Get list of all workloads
get_workloads_filtered_v3 7 params → 200403500
GET
/nerve/v3/workloads/{workloadId}
Get data of workload selected by ID
get_specific_workload_v3 1 param → 200400403404500
PATCH
/nerve/v3/workloads/{workloadId}
Update data of workload selected by ID
update_workload_general_data_v3 1 param body → 200400403404409500
DELETE
/nerve/v3/workloads/{workloadId}
Delete workload selected by ID
delete_workload_v3 1 param → 204400403404500
DOCKER_COMPOSE_FILE 2

The operations to manage docker compose file

POST
/nerve/v3/workloads/compose
Upload and validate docker-compose file
v3_process_docker_compose_file body → 200400403415500
GET
/nerve/v3/workloads/compose/{workloadId}/versions/{versionId}/files/{fileId}
Get content of the selected docker-compose file as string
v3_docker_compose_file_content 3 params → 200400403404500
WL_VERSION_v3 10

The operations to manage specific versions of workloads v3

POST
/nerve/v3/workloads/{workloadId}/versions
Add new version of the selected workload
create_version_v3 1 param body → 200400403404409500501
GET
/nerve/v3/workloads/{workloadId}/versions
Get list of versions of the selected workload
list_versions_v3 1 param → 200400403404500501
DELETE
/nerve/v3/workloads/{workloadId}/versions/{versionId}
Delete version of the selected workload
delete_version_v3 2 params → 204400403404500501
GET
/nerve/v3/workloads/{workloadId}/versions/{versionId}
Get version data of the selected workload
get_version_v3 2 params → 200400403404500501
PATCH
/nerve/v3/workloads/{workloadId}/versions/{versionId}
Update version data of the selected workload
edit_version_v3 2 params body → 200400403404409500501
POST
/nerve/v3/workloads/{workloadId}/versions/{versionId}/export-init
Initiates the export of a workload version that uses MS Registry as a storage
init_export_version_v3 2 params → 202400403404500
GET
/nerve/v3/workloads/{workloadId}/versions/{versionId}/export-status
Gets the export status of workload version using MS Registry as storage
status_export_version_v3 2 params → 200400403404
GET
/nerve/v3/workloads/{workloadId}/versions/{versionId}/unique-info
Get data which identify the selected workload
get_specific_version_info_v3 2 params → 200400403404500
PUT
/nerve/v3/workloads/{workload_id}/versions/{version_id}/import-remote-connections
Import remote connections on selected node
import_rc_on_wl 2 params body → 200400403404415500
GET
/nerve/v3/workloads/{workload_id}/versions/{version_id}/export-remote-connections
Export remote connections
export_rc_on_wl 2 params → 200400401403404500
WL_VERSION_FILE 8

The operations to manage workload files of specific versions v3

POST
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files
Add file to the selected workload version
add_file_v3 2 params body → 200400403404415500501
GET
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files
Get list of files for the selected version of the selected workload
get_files_v3 2 params → 200400403404500501
GET
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}
Get information of the selected file
get_file_v3 3 params → 200400403404500501
PATCH
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}
Edit the selected file
edit_file_v3 3 params body → 200400403404415500501
DELETE
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}
Delete the selected file
delete_file_v3 3 params → 204400403404500501
PATCH
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files/{fileId}/cancel
Cancel download of the selected file
cancel_file_v3 3 params → 204400403404500501
PATCH
/nerve/v3/workloads/{workloadId}/versions/{versionId}/files/cancel
Cancel all file downloads in-progress
cancel_all_files_v3 2 params → 204400403404500501
POST
/nerve/v3/workloads/{workloadId}/versions/{versionId}/define-all-files
Define all files for specified workload version
define_all_files_v3 2 params body → 200400403404415500501
NERVE_DOCKER_REGISTRY 6

The operations to manage Docker registry

POST
/nerve/registry/images
List images
nerve_registry_image_list body → 200403500
POST
/nerve/registry/image-tags
List tags for a specific image
nerve_registry_image_tags body → 200403404500
POST
/nerve/registry/events
Receive Docker Registry Notifications
nerve_registry_notify → 204
GET
/nerve/registry/auth
Authenticate Docker Registry
nerve_registry_auth 4 params → 200401429
POST
/nerve/registry/check-images-status
List of images with their statuses
nerve_registry_image_list_with_status body → 200403500
POST
/nerve/registry/delete-image-tag
Delete image tag from the registry
nerve_registry_delete_image_tag body → 200403404405500
NODE_v2 15

The operations to manage nodes v2.

GET
/nerve/v2/node/logging-monitoring/{serialNumber}
Get the monitoring and logging configuration
get_nerve_v2_node_logging_monitoring_serial_number 1 param → 200403404409500
POST
/nerve/v2/node/logging-monitoring/{serialNumber}
Set monitoring and logging configuration
put_nerve_node_logging_monitoring_serial_number 1 param body → 204400403404409415500
PUT
/nerve/v2/node/{serial_number}/import-remote-connections
Import remote connections on selected node
import_rc_on_node 1 param body → 200400403404415500
GET
/nerve/v2/node/{serial_number}/export-remote-connections
Export remote connections data with file
export_rc_on_node 1 param → 200400401403404500
GET
/nerve/v2/node/{serial_number}/users
Get a list of all users from the selected node
get_users_from_node 1 param → 200400401403404409
DELETE
/nerve/v2/node/{serial_number}/users
Delete all user accounts from a node, or an account specified by username
delete_users_from_node 2 params → 204400401403404409
DELETE
/nerve/v2/node/{serialNumber}/docker-resources/images/unused
Removes unused Docker images from the Node
remove_unused_docker_images 1 param → 204400401403404409
GET
/nerve/v2/node/{serialNumber}/docker-resources/volumes
Get a list of all volumes from the selected node
get_volume_list_from_node 1 param → 200400401403404409500
DELETE
/nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}
Delete a volume from the selected node
delete_volume_from_node 2 params → 204400401403404409500
POST
/nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/import
Import data to a volume on the selected node
import_data_to_volume_on_node 2 params body → 200400401403404409415500
POST
/nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/export
Initiate volume export from the selected node
export_volume_from_node 2 params → 204400401403404409500
POST
/nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/export/cancel
Cancel volume export that is in progress
cancel_volume_export_from_node 2 params → 204400401403404409500
POST
/nerve/v2/node/{serialNumber}/docker-resources/volumes/{volumeName}/import/cancel
Cancel volume import that is in progress
cancel_volume_import_on_node 2 params → 204400401403404409500
PUT
/nerve/v2/node/{serialNumber}/production-mode
Enable or disable production mode for the node
set_production_mode 1 param body → 200400401403404409500
POST
/nerve/upload-volume-backup
Upload a volume backup zip archive from the node to the MS
upload_volume_backup body → 204400499500
LABEL 6

The operations to manage labels

POST
/nerve/labels
Create label
create_label body → 200400403409
DELETE
/nerve/labels/{label_id}
Delete the selected label
delete_label 1 param → 200400403404
GET
/nerve/labels/{label_id}
Get the selected label
get_label 1 param → 200400403404
PATCH
/nerve/labels/{label_id}
Update the selected label
update_label 1 param body → 200400403404409
GET
/nerve/labels/list
Get a list of labels
get_labels 4 params → 200400403500
GET
/nerve/labels/group
Get labels grouped by their keys
get_label_group 3 params → 200400403
WORKLOAD_CONFIGURATION 1

The operations to manage workload configurations

POST
/nerve/nodes/{serialNumber}/workloads/{deviceId}/configurations
Apply configuration to docker workload
apply_docker_workload_configuration 2 params body → 204400403404409415500
DNA 6

The operations to manage workload DNA configuration

GET
/nerve/dna/{serialNumber}/target
Get target node configuration
dna_target_configuration 1 param → 200400401403404409500
PUT
/nerve/dna/{serialNumber}/target
Apply target configuration to the selected node
apply_dna_configuration 5 params body → 202400401403404409415500
GET
/nerve/dna/{serialNumber}/status
Get configuration status
dna_configuration_status 1 param → 200400401403404500
PATCH
/nerve/dna/{serialNumber}/target/cancel
Cancel DNA configuration in progress
cancel_dna_configuration 1 param → 202400401403404409500504
GET
/nerve/dna/{serialNumber}/current
Get current node configuration
dna_current_configuration 1 param → 200400401403404500
PUT
/nerve/dna/{serialNumber}/target/re-apply
Re-apply target configuration to the selected node
re_apply_dna_configuration 4 params → 202400401403404409500504
SERVICE-OS-DNA 6

The operations to manage Service OS DNA configuration

PUT
/nerve/service-os-dna/{serialNumber}/target
Apply target service os configuration
apply_service_os_dna_configuration 1 param body → 202400401403404409415500
GET
/nerve/service-os-dna/{serialNumber}/target
Get target node configuration of Service OS DNA
dna_service_os_target_configuration 1 param → 200401403404409500
GET
/nerve/service-os-dna/{serialNumber}/status
Get Service OS DNA configuration status
service_os_dna_configuration_status 1 param → 200400401403404409500
PATCH
/nerve/service-os-dna/{serialNumber}/target/cancel
Cancel Service OS DNA configuration in progress
cancel_service_os_dna_configuration 1 param → 202400401403404409500504
GET
/nerve/service-os-dna/{serialNumber}/current
Get current Service OS DNA configuration
dna_service_os_current_configuration 1 param → 200401403404409500
PUT
/nerve/service-os-dna/{serialNumber}/target/re-apply
Re-apply target configuration
re_apply_service_os_dna_configuration 1 param → 202400401403404409500504
NOTIFICATION 7

The operations to manage notifications.

GET
/nerve/notifications/activeNoAuth
get active notification without authentication
notification_before_login → 200204400500
GET
/nerve/notifications/active
get active notification with authentication
notification_after_login → 200204400403500
GET
/nerve/notifications
Get list of all notifications
notification_list 3 params → 200400403500
POST
/nerve/notifications
Create new notification
create_notification body → 200400403415500
GET
/nerve/notifications/{notification_id}
Get one specific notification
get_specific_notification 1 param → 200400403404500
DELETE
/nerve/notifications/{notification_id}
Delete specific notification
delete_specific_notification 1 param → 204400403404500
PUT
/nerve/notifications/{notification_id}
Update specific notification
update_specific_notification 1 param body → 200400403404415500
CAPABILITIES 1

The operations to manage node capabilities

GET
/nerve/capabilities/{capability_name_param}
Fetch capability by name
find_capability_by_name 1 param → 200400403404
EMQX 3

The operations to manage authentication and authorization of MQTT clients

POST
/mqtt/auth
Authentication of the MQTT client
mqtt_auth body → 200400503
POST
/mqtt/acl
Checks if MQTT client is authorized to publish and subscribe to a specific topic
mqtt_acl body → 200400
POST
/mqtt/actions
API for MQTT broker to notify Management system of client subscription
mqtt_actions body → 200400500
USAGE_REPORTS 4

The operations to manage usage reports

GET
/nerve/usage-reports/single
Retrieve single usage report
get_single_usage_report 2 params → 200400403500
GET
/nerve/usage-reports
Retrieve usage reports
get_usage_reports 2 params → 200400403500
GET
/nerve/usage-reports/configuration
Retrieve usage reports configuration
get_configuration → 200400403
POST
/nerve/usage-reports/configuration
Update Usage Reports Configuration
update_configuration body → 200400403500
REMOTE_CONNECTIONS 7

The operations to manage remote connections.

POST
/nerve/remote-connections/connect
Connect remote connections
connect_remote_connections body → 200403409500
GET
/nerve/active-remote-connections
Get list of active remote connections
get_list_of_active_remote_connections 5 params → 200400403500
POST
/nerve/active-remote-connections/terminate-connections
Terminate active remote connections
terminate_remote_connections body → 200403404500
DELETE
/nerve/active-remote-connections/cancel-connection-approval/{connectionRequestUid}
Cancel pending approval of specific remote connection
cancel_rc_approval 1 param → 204400403404500
POST
/nerve/guacamole-connection-tab/{authToken}/{identifier}
Guacamole tab status
guacamole_tab_status 2 params body → 200204400403404500
GET
/nerve/v2/active-remote-connections/tunnel/{activeConnectionId}/{requestUid}/{generateSessionId}
Get active connection by id and rtem-session if it is required
get_active_rc 3 params → 200400401404500
POST
/nerve/v2/remote-connections-file/{target}/validate
Validate remote connection yaml file on node or workload
validate_remote_connection_file 1 param body → 200400403415500
DATA EXCHANGE 5

The operations to manage node data exchange.

POST
/nerve/data-exchange/cached-data
Retrieve cached data from the Cloud server
get_cached_data body → 200400403404409
POST
/nerve/data-exchange/node-data
Retrieve node data from the Cloud server
get_node_data body → 200400403404409
POST
/nerve/data-exchange/set-node-data
Update node data from the Cloud server
set_node_data body → 200400403404409
POST
/nerve/data-exchange/keep-emitting-updates
Instruct the node to resume emitting updates
keep_emitting_updates body → 200400403404409
POST
/nerve/data-exchange/start-emitting-updates
Instruct the node to begin emitting updates
start_emitting_updates body → 200400403404409
LDAP 10

The operations to manage LDAP users

GET
/nerve/ldap/active
Get status of LDAP configuration
get_ldap_status → 200400403404
POST
/nerve/ldap/connection/test
Test LDAP connection
test_ldap_connection body → 200400403404
GET
/nerve/ldap/default
Get default LDAP
get_default_ldap → 200204400403404
GET
/nerve/ldap
Retrieve LDAP configuration details
get_ldap_config_details → 200400403404
POST
/nerve/ldap
Create LDAP connections
create_ldap_connections body → 200400403404429
POST
/nerve/ldap/query/groups
LDAP server for groups with desired configuration
ldap_groups body → 200400403404429500
POST
/nerve/ldap/query/users
LDAP server for users with desired configuration
ldap_users body → 200400403404429500
PATCH
/nerve/ldap/{name}/active
Activate or deactivate LDAP
activate_deactivate_ldap 1 param body → 200400403404
PUT
/nerve/ldap/{file}
Update LDAP connections
update_ldap_connections 1 param body → 204400403404429
POST
/nerve/ldap/sync
Synchronization LDAP users
synchronize_ldap_users body → 200400403404429
AUTH 17

The operations to manage authentication and authorization of MS users

GET
/auth/log-agents
Verify that a log agent has access to logs
log_agents → 204401404
POST
/auth/login
Login user
login body → 200400401403404406429
GET
/auth/logout
Logout user
logout → 204403
POST
/auth/mfa/activate/{activationToken}
Activate user multi-factor authentication
mfa_activate 1 param body → 204400404
GET
/auth/mfa/generate/{generationToken}
Generates user's multi-factor authentication secret and QR code URL
mfa_generate 1 param → 200400404
GET
/auth/mfa/is-enabled
Check if multi-factor authentication is enabled on Management System
mfa_is_enabled → 200
POST
/auth/mfa/reset/{resetToken}
Reset user multi-factor authentication secret
mfa_reset 1 param body → 204400404
POST
/auth/mfa/validate
Validate multi-factor authentication code and login user
mfa_validate body → 200400404406409429
GET
/auth/password/is-reset/{resetToken}
Check if user password is already reset
password_is_reset 1 param → 200400403
POST
/auth/password/reset/{resetToken}
Reset user password
password_reset 1 param body → 204400404
POST
/auth/profile/activate/{activationToken}
Activate user profile and set password
profile_activate 1 param body → 200204400403404
GET
/auth/profile/is-activated/{activationToken}
Check if user profile is already activated
profile_is_activated 1 param → 200400403
POST
/auth/reset-credentials
Request a reset credentials email
reset_credentials body → 200400429
GET
/auth/verify-user-access
Verify that user has a specific permission
verify_user_access 1 param → 204400403
GET
/auth/verify-user-session
Verify that user has access to OpenSearch dashboards
verify_user_session → 204401404
GET
/auth/wstunnel-cli
Verify that the wstunnel-cli is authorized to open a tunnel
wstunnel_cli → 204401403404429
GET
/auth/password-policy
Returns the current password policy settings
password_policy → 200
NERVE_UPDATE 7

The operations to manage Nerve updates

GET
/nerve/update/cloud/current-version
Get the current version of the cloud
current_cloud_version → 200403500
GET
/nerve/update/cloud/incompatible-nodes/{version}
Get the list of incompatible nodes compared to the specific MS version
incompatible_nodes 1 param → 200403500
GET
/nerve/update/local-node-update
Get the list of available node update versions
local_node_update_versions → 200403
GET
/nerve/update/node/details-by-name
Get the details of a node update version
node_update_details 1 param → 200403
GET
/nerve/update/fetch-node-updates
Trigger fetch of node updates from the NSC
fetch_node_updates → 200403
GET
/nerve/update/cloud/fetch-available-versions
Trigger fetch of available cloud update versions from the NSC
fetch_available_versions → 200403
GET
/nerve/update/cloud/available-versions
Get available MS update versions for current cloud version
available_cloud_update_versions → 200403
INTERNAL_TEST_API 4

Operations intended solely for testing, used to validate system behavior under invalid or edge-case data scenarios. Not for production use.

POST
/nerve/internal-test-api/config/{parameter}/reload
Reload configuration for a specific parameter from configuration.yaml
config_reload 1 param → 200404500
PATCH
/nerve/internal-test-api/config/{parameter}
Modify configuration for a specific parameter from configuration.yaml file
config_modify 1 param body → 202404500
GET
/nerve/internal-test-api/config/{parameter}
Get the configuration for a specific parameter from configuration.yaml file
get_config 1 param → 200404
POST
/nerve/internal-test-api/mqtt
Publish an MQTT message for testing
publish_mqtt_message body → 204

Schemas 11

The contract defines 11 schemas that model the data the API accepts and returns. The most detailed are v3_docker_wl_specific_properties (9 properties), add_edit_notification (5 properties), rc_node (2 properties), rc_compose (2 properties). Each schema is shown below with its type and property counts.

v2_create_workload
object
Create Workload - V2 API endpoint
v2_update_workload
object
Used to add a new workload version or to update the existing version - V2 API endpoint
v3_add_edit_file
object
Add/edit file request payload
add_edit_notification
object
Add/edit notification request payload
5 properties 2 required
rc_docker
object
2 properties 2 required
rc_vm
object
2 properties 2 required
rc_codesys
object
2 properties 2 required
rc_compose
object
2 properties 2 required
rc_node
object
2 properties 2 required
v3_docker_wl_specific_properties
object
Docker specific properties
9 properties 1 required
v3_docker_compose_wl_specific_properties
object
An object containing a specific properties for docker-compose workload type
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

tttech-nerve-management-system-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Nerve Management System API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.