Notploy

Notploy API

How to interact with the notploy API for administrators and users

In some cases, you may need to interact directly with the notploy API. Here's how both administrators and users can do this.

For Administrators

  1. Access the Swagger UI by navigating to your-vps-ip:3000/swagger.
  2. Use the Swagger interface to interact with the API.
  3. By default, access to the Swagger UI is restricted, and only authenticated administrators can access the API.

For Users

  1. By default, users do not have direct access to the API.
  2. Administrators can grant users access to:
    • Generate access tokens
    • Access the Swagger UI
  3. If you need access, contact your administrator.

Note: The API provides advanced functionalities. Make sure you understand the operations you're performing to avoid unintended changes to the system.

Usage

By default the OpenApi base url is http://localhost:3000/api, you need to replace with the ip of your notploy instance or the domain name.

Authentication

The API uses JWT tokens for authentication. You can generate a token by going to the /settings/profile page and go to API/CLI Section and generate the token.

Let's take a example of authenticated request:

curl -X 'GET' \
  'https://notploy.com/api/project.all' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR-GENERATED-API-KEY'

then you will get the something like this:

[
  {
    "projectId": "klZKsyw5g-QT_jrWJ5T-w",
    "name": "Random",
    "description": "",
    "createdAt": "2024-06-19T15:05:58.785Z",
    "adminId": "_WrKZbs7iJAA3p4N2Yfyu",
    "applications": [],
    "mariadb": [],
    "mongo": [],
    "mysql": [
      {
        "mysqlId": "N3cudwO46TiDXzBm4SaQ1",
        "name": "mysql",
        "appName": "random-mysql-924715",
        "description": "",
        "databaseName": "mysql",
        "databaseUser": "mysql",
        "databasePassword": "h13BzO6y3KYSHaQg",
        "databaseRootPassword": "mM1b7JeoPA7jArxj",
        "dockerImage": "mysql:8",
        "command": null,
        "env": null,
        "memoryReservation": null,
        "memoryLimit": null,
        "cpuReservation": null,
        "cpuLimit": null,
        "externalPort": null,
        "applicationStatus": "done",
        "createdAt": "2024-06-24T01:55:40.378Z",
        "projectId": "klZKsyw5g-QT_jrWJ5T-w"
      }
    ],
    "postgres": [],
    "redis": [
      {
        "redisId": "TtFK5S4QFaIjaNGOb8Ku-",
        "name": "redis",
        "appName": "random-redis-7eec62",
        "description": "",
        "databasePassword": "Yvb8gqClfomjcue8",
        "dockerImage": "redis:7",
        "command": null,
        "env": null,
        "memoryReservation": null,
        "memoryLimit": null,
        "cpuReservation": null,
        "cpuLimit": null,
        "externalPort": 6379,
        "createdAt": "2024-06-26T06:43:20.570Z",
        "applicationStatus": "done",
        "projectId": "klZKsyw5g-QT_jrWJ5T-w"
      }
    ],
    "compose": []
  },
]

Namespace index

Every namespace registered in the API router, with the number of operations the generated reference exposes and the human-written guide when one exists.

NamespaceEndpointsGenerated referenceGuide
admin1adminadmin guide
ai14aiai guide
application32applicationapplication guide
auditLog1auditlog—
backup12backupbackup guide
bitbucket7bitbucketbitbucket guide
certificates8certificatescertificates guide
cicd7cicd—
cluster4clustercluster guide
community14community—
compose31composecompose guide
customRole6customrole—
deployment11deploymentdeployment guide
destination7destinationdestination guide
dnsProvider15dnsprovider—
docker20dockerdocker guide
dockerDiskUsage3dockerdiskusage—
dockerImage3dockerimage—
dockerVolume8dockervolume—
domain11domaindomain guide
environment7environmentenvironment guide
forwardAuth10forwardauth—
gitea8giteagitea guide
github6githubgithub guide
gitlab7gitlabgitlab guide
gitProvider4gitprovidergitProvider guide
libsql14libsql—
mariadb16mariadbmariadb guide
mongo16mongomongo guide
mounts6mountsmounts guide
mysql16mysqlmysql guide
network10network—
networkProvider9networkprovider—
notification41notification—
objectStorage15objectstorage—
onion9onion—
operationalEvent2operationalevent—
organization11organizationorganization guide
overview3overview—
patch12patch—
port4portport guide
postgres16postgrespostgres guide
previewDeployment4previewdeployment—
project11projectproject guide
redirects4redirectsredirects guide
redis16redisredis guide
registry17registryregistry guide
rollback2rollbackrollback guide
schedule6scheduleschedule guide
scim3scim—
security4securitysecurity guide
server21serverserver guide
settings57settingssettings guide
sshKey7sshkeysshKey guide
sso16sso—
status12status—
stripe15stripe—
swarm5swarmswarm guide
tag8tag—
traffic11traffic—
user26useruser guide
vaultProvider13vaultprovider—
volumeBackups6volumebackupsvolumeBackups guide
whitelabeling4whitelabeling—

On this page