Links

API

Registries

Registries are 3rd party registries where the images of versions are located. Learn more about registries here.
get
/api/{teamSlug}/registries
Fetch data of registries.
post
/api/{teamSlug}/registries
Create a new registry.
get
/api/{teamSlug}/registries/{registryId}
Fetch data of a registry.
put
/api/{teamSlug}/registries/{registryId}
Modify the details of a registry.
delete
/api/{teamSlug}/registries/{registryId}
Delete a registry from dyrector.io.

Projects

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.
get
/api/{teamSlug}/projects
Fetch the projects list.
post
/api/{teamSlug}/projects
Create a new project for a team.
get
/api/{teamSlug}/projects/{projectId}
Fetch details of a project.
put
/api/{teamSlug}/projects/{projectId}
Update a project.
delete
/api/{teamSlug}/projects/{projectId}
Delete a project.
post
/api/{teamSlug}/projects/{projectId}/convert
Convert a project to versioned.

Versions

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.
get
/api/{teamSlug}/projects/{projectId}/versions
Fetch the list of all the versions under a project.
post
/api/{teamSlug}/projects/{projectId}/versions
Create a new version.
get
/api/{teamSlug}/projects/{projectId}/versions/{versionId}
Retrieve the details of a version of a project.
put
/api/{teamSlug}/projects/{projectId}/versions/{versionId}
Modify version.
delete
/api/{teamSlug}/projects/{projectId}/versions/{versionId}
Delete a version.
put
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/default
Turn version into a default one of the versioned project other versions under it will inherit images and deployments from.
post
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/increase
Increase a the version of a versioned project with a new version.

Version/Images

Images make up a versioned project's version, or a versionless project.
get
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images
Fetch data of all images of a version.
post
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images
Add images to a version.
get
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images/{imageId}
Fetch data of an image of a version.
delete
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images/{imageId}
Delete an image from a version.
patch
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images/{imageId}
Configure an image of a version.
put
/api/{teamSlug}/projects/{projectId}/versions/{versionId}/images/order
Edit image deployment order of a version.

Teams

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.
get
/api/teams
Fetch data of teams the user is a member of.
post
/api/teams
Create new team.
get
/api/teams/{teamId}
Fetch data of a team the user is a member of.
put
/api/teams/{teamId}
Modify a team's name.
delete
/api/teams/{teamId}
Deletes a team.
post
/api/teams/{teamId}/users
Invite a new user to the team.
put
/api/teams/{teamId}/users/{userId}/role
Edit user role.
delete
/api/teams/{teamId}/users/leave
Remove the current user from the team.
delete
/api/teams/{teamId}/users/{userId}
Remove a user from the team.
post
/api/teams/{teamId}/users/{userId}/reinvite
Reinvite user with a pending invite status to a team.

Users/Me

Users/Me cover endpoints related to your user profile.
post
/api/users/me
Fetch the current user.
post
/api/users/me/invitations/{teamId}
Accept invitation to a team.
delete
/api/users/me/invitations/{teamId}
Decline invitation to a team.
put
/api/users/me/preferences/onboarding
Sets the onboarding tips to visible for the user.
delete
/api/users/me/preferences/onboarding
Sets the onboarding tips to hidden for the user.

Deployments

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.
get
/api/{teamSlug}/deployments
Fetch the list of deployments.
post
/api/{teamSlug}/deployments
Create new deployment.
get
/api/{teamSlug}/deployments/{deploymentId}
Retrieve details of a deployment.
delete
/api/{teamSlug}/deployments/{deploymentId}
Delete deployment.
patch
/api/{teamSlug}/deployments/{deploymentId}
Update deployment.
get
/api/{teamSlug}/deployments/{deploymentId}/instances/{instanceId}
Get details of a soon-to-be container.
patch
/api/{teamSlug}/deployments/{deploymentId}/instances/{instanceId}
Update instance configuration.
get
/api/{teamSlug}/deployments/{deploymentId}/instances/{instanceId}/secrets
Fetch secrets of a soon-to-be container.
post
/api/{teamSlug}/deployments/{deploymentId}/start
Start the deployment process.
post
/api/{teamSlug}/deployments/{deploymentId}/copy
Copy deployment.
get
/api/{teamSlug}/deployments/{deploymentId}/log
Fetch event log of a deployment.
put
/api/{teamSlug}/deployments/{deploymentId}/token
Create deployment token.
delete
/api/{teamSlug}/deployments/{deploymentId}/token
Delete deployment token.

Tokens

Tokens are the access tokens that grant you access to a user profile and the teams the profile is a member of.
get
/api/tokens
List of tokens.
post
/api/tokens
Create access token.
get
/api/tokens/{tokenId}
Fetch token details.
delete
/api/tokens/{tokenId}
Delete an access token.

Nodes

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.
get
/api/{teamSlug}/nodes
Get data of nodes that belong to your team.
post
/api/{teamSlug}/nodes
Create new node.
get
/api/{teamSlug}/nodes/{nodeId}
Get data of nodes that belong to your team.
put
/api/{teamSlug}/nodes/{nodeId}
Update details of a node.
delete
/api/{teamSlug}/nodes/{nodeId}
Delete node.
get
/api/{teamSlug}/nodes/{nodeId}/script
Fetch install script.
post
/api/{teamSlug}/nodes/{nodeId}/script
Create agent install script.
delete
/api/{teamSlug}/nodes/{nodeId}/script
Delete node set up install script.
delete
/api/{teamSlug}/nodes/{nodeId}/token
Revoke the node's access token.
post
/api/{teamSlug}/nodes/{nodeId}/update
Update the agent.
get
/api/{teamSlug}/nodes/{nodeId}/audit
Fetch audit log.
post
/api/{teamSlug}/nodes/{nodeId}/{prefix}/containers/{name}/start
Start a container deployed with dyrector.io on a node.
post
/api/{teamSlug}/nodes/{nodeId}/{prefix}/containers/{name}/stop
Stop a container deployed with dyrector.io on a node.
post
/api/{teamSlug}/nodes/{nodeId}/{prefix}/containers/{name}/restart
Restart a container deployed with dyrector.io on a node.
delete
/api/{teamSlug}/nodes/{nodeId}/{prefix}/containers
Delete containers deployed with dyrector.io, with the specified prefix on a node.
delete
/api/{teamSlug}/nodes/{nodeId}/{prefix}/containers/{name}
Delete a container deployed with dyrector.io, with the specified prefix and name on a node.
get
/api/{teamSlug}/nodes/{nodeId}/containers
Fetch data of all containers on a node.
post
/api/{teamSlug}/nodes/{nodeId}/containers/{name}/start
Start the specific container on a node.
post
/api/{teamSlug}/nodes/{nodeId}/containers/{name}/stop
Stop the specific container on a node.
post
/api/{teamSlug}/nodes/{nodeId}/containers/{name}/restart
Restart the specific container on a node.
delete
/api/{teamSlug}/nodes/{nodeId}/containers/{name}
Delete the specific container from a node.

Audit log

Audit log is a log of team activity generated by the platform.
get
/api/{teamSlug}/audit-log
Fetch audit log.

Health

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.
get
/api/health
Return service status of the platform.

Notifications

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.
get
/api/{teamSlug}/notifications
Retrieve notifications that belong to a team.
post
/api/{teamSlug}/notifications
Create a new notification.
get
/api/{teamSlug}/notifications/{notificationId}
Fetch details of a notification.
put
/api/{teamSlug}/notifications/{notificationId}
Modify a notification.
delete
/api/{teamSlug}/notifications/{notificationId}
Delete a notification.
post
/api/{teamSlug}/notifications/{notificationId}/test
Send a test message.

Templates

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.
get
/api/templates
Return list of templates on the platform.
post
/api/templates
Creates a new project from the selected template.
get
/api/templates/{templateId}/image
Retrieves the picture of the template

Dashboard

Dashboard summarizes the latest activities of a team.
get
/api/{teamSlug}/dashboard
Fetch dashboard data of latest activities.

Storages

Storages are S3 compatible memory storages. They can be used for file injection. More details here.
get
/api/{teamSlug}/storages
Fetch the list of storages.
post
/api/{teamSlug}/storages
Create a new storage.
get
/api/{teamSlug}/storages/options
Fetch the name and ID of available storage options.
get
/api/{teamSlug}/storages/{storageId}
Return details of a storage.
put
/api/{teamSlug}/storages/{storageId}
Modify a storage.
delete
/api/{teamSlug}/storages/{storageId}
Delete a storage from dyrector.io.