API
Last updated
Last updated
Registries are 3rd party registries where the images of versions are located. Learn more about registries here.
There are two kinds of projects in dyrector.io: versionless and versioned. Versionless projects make up one deployable unit without versioning, while versioned projects come with multiple rolling or incremental versions. More details here.
Versions belong to versioned projects. Versionless projects act similar to a rolling version of a versioned project.
The purpose of versions is to separate different variations of your project. They can be either rolling or incremental. One versionless project can have multiple versions of both types. More details about rolling and incremental versions here.
Images make up a versioned project's version, or a versionless project.
Teams are the shared entity of multiple users. The purpose of teams is to separate users, nodes and projects based on their needs within an organization. Team owners can assign roles. More details about teams here.
Users/Me cover endpoints related to your user profile.
Deployments are the process that gets the installation of your versions or versionless projects done on the node of your choice. More details about deployments here.
Tokens are the access tokens that grant you access to a user profile and the teams the profile is a member of.
Nodes are the deployment targets. Nodes are registered by installing at least one of the agents – crane for Kubernetes, dagent for Docker. These agents connect the platform to your node. One team can have as many nodes as they like.
Node installation takes place with Shell or PowerShell scripts, which can be created or revoked. More details here.
Audit log is a log of team activity generated by the platform.
Health refers to the status of the different services that make up the platform. It can be checked to see if the platform works properly.
Notifications are chat notifications in Slack, Discord, and Teams. They send an automated message about deployments, new versions, new nodes, and new users. More details here.
Templates are preset applications that can be turned into a project right away. They can be deployed with minimal configuration. More details about templates here.
Dashboard summarizes the latest activities of a team.
Storages are S3 compatible memory storages. They can be used for file injection. More details here.
Lists every registries available in the active team. Request must include teamSlug
in URL. Response is an array including the name
, id
, type
, description
, and icon
of the registry.Registries are 3rd party registries where the container images are stored.
Data of all registries within a team listed.
To add a new registry, include teamSlug
in URL, body must include name
, type
, description
, details
, and icon
. Type
, details
, and name
are required. Response is an array including the name
, id
, type
, description
, imageNamePrefix
, inUse
, icon
, and audit log info of the registry.
New registry created.
Lists the details of a registry. Request must include teamSlug
and RegistryID
in URL. registryId
refers to the registry's ID. Response is an array including the name
, id
, type
, description
, imageNamePrefix
, inUse
, icon
, and audit log info of the registry.
Data of a registry listed.
Modify the name
, type
, description
, details
, and icon
. RegistryId
refers to the registry's ID. teamSlug
and RegistryID
is required in URL, body must include type
, details
, and name
.
Registry modified.
Deletes a registry with the specified registryId
. teamSlug
and RegistryID
are required in URL.
Registry deleted.
Returns a list of a team's projects and their details. teamSlug
needs to be included in URL.
List of projects.
Create a new project for a team. teamSlug
needs to be included in URL. Newly created team has a type
and a name
as required variables, and optionally a description
and a changelog
.
New project created.
Returns a project's details. teamSlug
and ProjectID
needs to be included in URL. The response should contain an array, consisting of the project's name
, id
, type
, description
, deletability
, versions and version related data, including version name
and id
, changelog
, increasibility.
Details of a project.
Updates a project. teamSlug
is required in URL, as well as projectId
to identify which project is modified, name
, description
and changelog
can be adjusted with this call.
Project details are modified.
Deletes a project with the specified projectId
. teamSlug
and ProjectID
are required in URL.
Project deleted.
Converts a project to versioned with the specified projectId
. teamSlug
and ProjectID
are required in URL.
Project converted.
Returns an array containing the every version that belong to a project. teamSlug
and ProjectId
must be included in URL. ProjectId
refers to the project's ID. Details include the version's name
, id
, type
, audit
log details, changelog
, and increasibility.
Returns an array with every versions of a project.
Creates a new version in a project. projectId
refers to the project's ID. teamSlug
and ProjectId
must be included in URL, request's body need to include name
and type
of the version, changelog
is optionable. Response should include the name
, id
, changelog
, increasibility, type
, and audit
log details of the version.
New version created.
Returns the details of a version in the project. teamSlug
and ProjectId
must be included in URL. projectId
refers to the project's ID, versionId
refers to the version's ID. Details include the version's name
, id
, type
, audit
log details, changelog
, increasibility, mutability, deletability, and all image related data, including name
, id
, tag
, order
and configuration data of the images.
Details of a version under a project is fetched.
Updates a version's name
and changelog
. teamSlug
, ProjectId
and VersionId
must be included in URL. projectId
refers to the project's ID, versionId
refers to the version's ID.
Changelog of a version is updated.
This call deletes a version. teamSlug
, ProjectId
and VersionId
must be included in URL. projectId
refers to the project's ID, versionId
refers to the version's ID.
Version deleted.
This call turns a version into the default one, resulting other versions within this project later inherit images, deployments and their configurations from it. teamSlug
, ProjectId
and VersionId
must be included in URL. projectId
refers to the project's ID, versionId
refers to the version's ID.
Version turned into default.
Increases the version of a project with a new child version. teamSlug
, ProjectId
and VersionId
must be included in URL. projectId
refers to the project's ID, versionId
refers to the version's ID. name
refers to the name of the new version, and is required in the body.
New version created.
Fetch details of images within a version. ProjectId
refers to the project's ID, versionId
refers to the version's ID. Both, and teamSlug
are required in the URL.Details come in an array, including name
, id
, tag
, order
, and config details of the image.
Data of images listed.
Add new images to a version. projectId
refers to the project's ID, versionId
refers to the version's ID. These, and teamSlug
are required in the URL. registryId
refers to the registry's ID, images
refers to the name(s) of the images you'd like to add. These are required variables in the body.
New image added.
Fetch details of an image within a version. projectId
refers to the project's ID, versionId
refers to the version's ID, imageId
refers to the image's ID. All, and teamSlug
are required in the URL.Image details consists name
, id
, tag
, order
, and the config of the image.
Data of an image.
Delete an image. projectId
refers to the project's ID, versionId
refers to the version's ID, imageId
refers to the image's ID. All, and teamSlug
are required in the URL.
Delete an image from a version.
Modify the configuration variables of an image. projectId
refers to the project's ID, versionId
refers to the version's ID, imageId
refers to the image's ID. All, and teamSlug
are required in the URL. Tag
refers to the version of the image, config
is an object of configuration variables.
Image's configure variables updated.
Edit image deployment order of a version. projectId
refers to the project's ID, versionId
refers to the version's ID. Both, and teamSlug
are required in the URL. Request body should include the IDs of the images in an array.
Image order modified.
List of teams consist of name
, id
, and statistics
, including number of users
, projects
, nodes
, versions
, and deployments
.Teams are the shared entity of multiple users. The purpose of teams is to separate users, nodes and projects based on their needs within an organization. Team owners can assign roles. More details about teams here.
List of teams and their statistics.
Request must include name
, which is going to be the name of the newly made team. Response should include name
, id
, and statistics
, including number of users
, projects
, nodes
, versions
, and deployments
.
New team created.
Get the details of a team. Request must include teamId
, which is the ID of the team they'd like to get the data of. Data of teams consist of name
, id
, and statistics
, including number of users
, projects
, nodes
, versions
, and deployments
. Response should include user details, as well, including name
, id
, role
, status
, email
, and lastLogin
.
Details of the team.
Request must include teamId
and name
. Admin access required for a successful request.
Team name modified.
Request must include teamId
. Owner access required for successful request.
Team deleted.
Request must include teamId
, email and firstName
. Admin access required for a successful request.Response should include new user's name
, id
, role
, status
, email
, and lastLogin
. Admin access required for a successful request.
User invited.
Promotes or demotes the user. Request must include teamId
, userId
and role
. Admin access required for a successful request.
User's role modified.
Removes the current user from the team. Request must include teamId
.
User removed from a team.
Removes the user from the team. Request must include teamId
, userId
. Admin access required for a successful request.
User removed from a team.
This call sends a new invitation link to a user who hasn't accepted invitation to a team.Request must include teamId
, userId
. Admin access required for a successful request.
New invite link sent.
Response includes the user
, teams
, and invitations
.
Fetch the current user.
Request must include teamId
.
Invitation accepted.
Request must include teamId
.
Invitation declined.
Enable onboarding tips.
Enabled.
Disable onboarding tips.
Disabled.
Get the list of deployments. Request needs to include teamSlug
in URL. A deployment should include id
, prefix
, status
, note
, audit
log details, project name
, id
, type
, version name
, type
, id
, and node name
, id
, type
.
List of deployments.
Request must include teamSlug
in URL, versionId
, nodeId
, and prefix
, which refers to the ID of a version, a node and the prefix of the deployment, must be included in body. Response should include deployment id
, prefix
, status
, note
, and audit
log details, as well as project type
, id
, name
, version type
, id
, name
, and node type
, id
, name
.
New deployment created.
Get details of a certain deployment. Request must include teamSlug
and deploymentId
in URL. Deployment details should include id
, prefix
, environment
, status
, note
, audit
log details, project name
, id
, type
, version name
, type
, id
, and node name
, id
, type
.
Details of a deployment.
Request must include teamSlug
and deploymentId
in the URL.
Deployment deleted.
Request must include deploymentId
and teamSlug
in URL.
Deployment modified.
Request must include teamSlug
, deploymentId
and instanceId
, which refer to the ID of a deployment and the instance, in the URL. Instances are the manifestation of an image in the deployment. Response should include state
, id
, updatedAt
, and image
details including id
, name
, tag
, order
and config
variables.
Details of an instance.
Request must include teamSlug
, deploymentId
, instanceId
in URL, and portion of the instance configuration as config
in the body. Response should include config
variables in an array.
Instance configuration updated.
Request must include teamSlug
, deploymentId
and instanceId
, which refer to the ID of a deployment and the instance, needs to be included in URL. Response should include container prefix
and name
, and publicKey
, keys
.
Secrets of an instance listed.
Request must include teamSlug
and deploymentId
in the URL.
Deployment initiated.
Request must include teamSlug
and deploymentId
in the URL, which will be copied. The body must include the nodeId
, prefix
and optionally a note
. Response should include deployment data: id
, prefix
, status
, note
, and miscellaneous details of audit
log, project
, version
, and node
.
Deployment copied.
Request must include teamSlug
and deploymentId
in the URL. Response should include an items
array with objects of type
, deploymentStatus
, createdAt
, log
, and containerState
which consists of state
and instanceId
.
Deployment event log.
Request must include teamSlug
and deploymentId
in the URL. In the body a name
and optionally the expiration date as expirationInDays
.
Deployment token with jwt and the curl command.
Request must include teamSlug
and deploymentId
in the URL.
Deployment token deleted.
Access token's support is to provide secure access to the HTTP api without a cookie.
Token list fetched.
Request must include name
and expirationInDays
.
Token created.
Access token's details are name
, id
, and the time of creation and expiration. Request must include tokenId
.
Token details listed.
Request must include tokenId
.
Delete token.
Fetch data of deployment targets. Request must include teamSlug
in URL. Response should include an array with the node's type
, status
, description
, icon
, address
, connectedAt
date, version
, updating
, id
, and name
.
Data of nodes listed.
Request must include the teamSlug
in URL, and node's name
in body. Response should include an array with the node's type
, status
, description
, icon
, address
, connectedAt
date, version
, updating
, id
, and name
.
New node created.
Fetch data of a specific node. Request must include teamSlug
in URL, and nodeId
in body. Response should include an array with the node's type
, status
, description
, icon
, address
, connectedAt
date, version
, updating
, id
, name
, hasToken
, and agent installation details.
Data of the node.
Request must include the teamSlug
in URL, and node's name
in body, body can include description
and icon
.
Node details modified.
Request must include the teamSlug
in URL, and node's name
in body.
Node deleted.
Request must include the teamSlug
in URL, and node's name
in body. Response should include type
, status
, description
, icon
, address
, connectedAt
date, version
, updating
, id
, name
, hasToken
, and install
details.
Request must include teamSlug
in URL and nodeId
, type
, and scriptType
.
Install script generated.
Request must include the teamSlug
in URL, and node's name
in body.
Agent install script deleted.
Request must include the teamSlug
in URL, and node's name
in body.
Token revoked.
Request must include the teamSlug
in URL, and node's name
in body.
Node details modified.
Request must include teamSlug
in URL, and its body must include skip
, take
, and dates of from
and to
. Response should include an array of items
: createdAt
date, event
, and data
.
Paginated list of the audit log.
Request must include nodeId
, prefix
, and name
.
Container started.
Request must include nodeId
, prefix
, and name
.
Container stopped.
Request must include nodeId
, prefix
, and name
.
Container restarted.
Request must include nodeId
, and prefix
.
Containers deleted.
Request must include nodeId
, prefix
, and name
.
Container deleted.
Request must include nodeId
and prefix
. Response should include id
, command
, createdAt
, state
, status
, imageName
, imageTag
and ports
of images.
Fetch data of containers running on a node.
Request must include nodeId
, and the name
of the container.
Container started.
Request must include nodeId
, and the name
of the container.
Container stopped.
Request must include nodeId
, and the name
of the container.
Container restarted.
Request must include nodeId
, and the name
of the container.
Container deleted.
Request must include skip
, take
, and dates of from
and to
. Response should include an array of items
: createdAt
date, userId
, email
, serviceCall
, and data
.
Paginated list of the audit log.
Response should include status
, version
of the platform and lastMigration
of database.
Service status.
Response should include teamSlug
in the URL, type
, id
, name
, url
, active
, and creatorName
in the body.
Notifications listed.
Request must include teamSlug
in the URL, type
, enabledEvents
, id
, name
, url
, and active
in the body. Response should list type
, enabledEvents
, id
, name
, url
, active
, and creatorName
.
New notification created.
Request must include teamSlug
and notificationId
parameters in URL. Response should include type
, enabledEvents
, id
, name
, url
, active
, and creatorName
.
Details of notification listed.
Request must include teamSlug
in the URL, type
, enabledEvents
, id
, name
, url
, and active
in the body. Response should include type
, enabledEvents
, id
, name
, url
, active
, and creatorName
.
Notification modified.
Request must include teamSlug
and notificationId
in URL.
Notification deleted.
Request must include teamSlug
and notificationId
in URL.
Test message sent.
Response should include id
, name
, description
and technologies
of templates.
Templates listed.
Request must include type
, id
, and name
. Response should include id
, name
, description
, type
, and audit
log details of templates.
New project created.
Request must include templateId
.
Retrieve data of an image of a template.
teamSlug
is required in URL. Response should include users
, number of auditLogEntries
, projects
, versions
, deployments
, failedDeployments
, details of nodes
, latestDeployments
and auditLog
entries.
Dashboard data listed.
Response should include description
, icon
, url
, id
, and name
. teamSlug
is required in URL.
List of storages.
Creates a new storage. Request must include teamSlug
in URL, body is required to include name
, and url
. Request body may include description
, icon
, accesKey
, and secretKey
. Response should include description
, icon
, url
, id
, name
, accessKey
, secretKey
, and inUse
.
New storage created.
Response should include id
, and name
. teamSlug
is required in URL.
Name and ID of storage options listed.
Get the details of a storage. Request must include teamSlug
and storageId
in URL. Response should include description, icon, url, id
, name
, accessKey
, secretKey
, and inUse
.
Storage details.
Updates a storage. Request must include teamSlug
and storageId
in URL. name
, and url
must be included in body. Request body may include description
, icon
, accesKey
, and secretKey
.
Storage updated.
Deletes a storage. Request must include teamSlug
and storageId
in URL.
Storage deleted.