Projects

A project sits at the top level of an application; every resource points to a project. Upon creation of a project, a root user is generated along with a directory structure and a main branch.

Project Object

A project object is made up of properties that include:

Properties

  • Name
    name
    Type
    string
    Description

    The name of the project.

  • Name
    uuid
    Type
    string
    Description

    Unique identifier for the project.

  • Name
    directories
    Type
    array
    Description

    References to a project's directories.

  • Name
    branches
    Type
    array
    Description

    References to a project's branches.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the project was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the project was last updated.


GET/v1/project/:id

Retrieve Project

This endpoint allows you to retrieve a project for a given uuid.

Request

GET
/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1
curl -G https://api.stellify.com/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1 \
  -H "Authorization: Bearer {token}"


import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.project.get('13f56e50-77d8-4c5b-8ca8-abed7bed60a1')
from stellify_api import ApiClient

client = ApiClient(token)

client.project.get('13f56e50-77d8-4c5b-8ca8-abed7bed60a1')
$client = new \Stellify\ApiClient($token);

$client->project->get('13f56e50-77d8-4c5b-8ca8-abed7bed60a1');

Response

{
    "uuid": "13f56e50-77d8-4c5b-8ca8-abed7bed60a1",
    "name": "My Project",
    "branches": ["766aef05-d46f-495f-b00d-372ff8760597"]
}

POST/v1/project

Create Project

This endpoint allows you to create a new project which will include the creation of Stellify's directory structure and the "main" branch.

Request

POST
/v1/project
curl https://api.stellify.com/v1/project \
  -H "Authorization: Bearer {token}"
import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.project.create()
from stellify_api import ApiClient

client = ApiClient(token)

client.project.create()
$client = new \Stellify\ApiClient($token);

$client->project->create();

Response

{
    "uuid": "13f56e50-77d8-4c5b-8ca8-abed7bed60a1",
    "name": "My Project",
    "branches": ["766aef05-d46f-495f-b00d-372ff8760597"]
}

PATCH/v1/project/:id

Update Project

This endpoint allows you to perform a partial update to a project.

Elective attributes

  • Name
    name
    Type
    string
    Description

    The project name.

Request

PUT
/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1
curl -X PUT https://api.stellify.com/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d name="My New Project"
import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.project.update('13f56e50-77d8-4c5b-8ca8-abed7bed60a1', {
    "name": "My New Project",
});
from stellify_api import ApiClient

client = ApiClient(token)

client.project.update("13f56e50-77d8-4c5b-8ca8-abed7bed60a1", name="My New Project")
$client = new \Stellify\ApiClient($token);

$client->project->update('13f56e50-77d8-4c5b-8ca8-abed7bed60a1, [
      "name" => "My New Project",
]);

Response

{
    "uuid": "13f56e50-77d8-4c5b-8ca8-abed7bed60a1",
    "name": "My New Project",
    "branches": ["766aef05-d46f-495f-b00d-372ff8760597"]
}

DELETE/v1/project/:id

Delete Project

This endpoint allows you to delete a project and any attached directories and branches.

Request

DELETE
/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1
curl -X DELETE https://api.stellify.com/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1 \
  -H "Authorization: Bearer {token}"
import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.messages.delete('13f56e50-77d8-4c5b-8ca8-abed7bed60a1')
from stellify_api import ApiClient

client = ApiClient(token)

client.project.delete("13f56e50-77d8-4c5b-8ca8-abed7bed60a1")
$client = new \Stellify\ApiClient($token);

$client->project->delete('13f56e50-77d8-4c5b-8ca8-abed7bed60a1');

POST/v1/project/:id/user

Add User To Project

This endpoint allows you to add a user to an existing project.

Request

POST
/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1/user
curl https://api.stellify.com/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1/user \
  -H "Authorization: Bearer {token}" \
  -d user_id="13f56e50-77d8-4c5b-8ca8-abed7bed60a1" 
import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.project.create()
from stellify_api import ApiClient

client = ApiClient(token)

client.project.create()
$client = new \Stellify\ApiClient($token);

$client->project->create();

Response

{
    "uuid": "13f56e50-77d8-4c5b-8ca8-abed7bed60a1",
    "name": "My Project",
    "branches": ["766aef05-d46f-495f-b00d-372ff8760597"]
}

DELETE/v1/project/:id/user/:id

Remove User From Project

This endpoint allows you to delete a project and any attached directories and branches.

Request

DELETE
/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1/user/8728d713-f6ce-44dc-b54e-8fb44baadf17
curl -X DELETE https://api.stellify.com/v1/project/13f56e50-77d8-4c5b-8ca8-abed7bed60a1/user/8728d713-f6ce-44dc-b54e-8fb44baadf17 \
  -H "Authorization: Bearer {token}"
import ApiClient from '@stellisoft/js-api-client'

const client = new ApiClient(token)

await client.messages.delete('13f56e50-77d8-4c5b-8ca8-abed7bed60a1')
from stellify_api import ApiClient

client = ApiClient(token)

client.project.delete("13f56e50-77d8-4c5b-8ca8-abed7bed60a1")
$client = new \Stellify\ApiClient($token);

$client->project->delete('13f56e50-77d8-4c5b-8ca8-abed7bed60a1');

Please be aware that our API documentation is under construction.