Projects

Here you can interact with the projects you have available within Belltastic that are accessible with your API token.

Subscription Required

The Projects API requires an active paid subscription, such as Standard or Business.

Subscribe hereopen in new window

List Projects subscription required

GET {base_uri}/projects

List all projects available to your API token. This may include projects from different teams, if you belong to them.

Example response

GET https://belltastic.com/api/v1/projects

[
  {
    "id": 1,
    "name": "Default",
    "default": false,
    "hmac_required": false,
    "team_id": 1,
    "created_at": "2021-12-03T10:32:52+00:00",
    "updated_at": "2021-12-04T11:35:56+00:00",
    "deleted_at": null
  },
  {
    "id": 2,
    "name": "Second project",
    "default": true,
    "hmac_required": false,
    "team_id": 1,
    "created_at": "2021-12-03T10:32:52+00:00",
    "updated_at": "2021-12-03T10:32:52+00:00",
    "deleted_at": null
  }
]

Get project subscription required

GET {base_uri}/project/{id}

Get a single project.

Example response

GET https://belltastic.com/api/v1/project/1

{
  "id": 1,
  "name": "Default",
  "default": false,
  "hmac_required": false,
  "team_id": 1,
  "created_at": "2021-12-03T10:32:52+00:00",
  "updated_at": "2021-12-03T10:32:52+00:00",
  "deleted_at": null
}

Create project subscription required

POST {base_uri}/projects

Create a new project with the given data.

AttributeTypeRequired?Description
team_idintYesProjects belong to teams, not users. A valid team_id is required
namestringYesName of the project. Up to 255 characters
defaultbooleanNoWhether this project should open up by default when logging in to Belltastic
hmac_requiredbooleanNoWhether HMAC authorization by the Notification Component is required for this project
Example response (201 - Created)

Request: POST https://belltastic.com/api/v1/projects with body

{
  "team_id": 1,
  "name": "Second project",
  "hmac_required": true
}

Response:

{
  "message": "Project created.",
  "data": {
    "id": 2,
    "team_id": 1,
    "name": "Second project",
    "default": false,
    "hmac_required": true,
    "created_at": "2021-12-11T13:13:09+00:00",
    "updated_at": "2021-12-11T13:13:09+00:00",
    "deleted_at": null
  }
}
Example response (422 - Validation errors)

Request: POST https://belltastic.com/api/v1/projects with body

{
  "team_id": 54234,
  "name": "Second project"
}

Response:

{
  "message": "The given data was invalid.",
  "errors": {
    "team_id": [
      "You cannot create projects for this team."
    ]
  }
}

Update project subscription required

PUT {base_uri}/project/{id}

Update a project with new data.

AttributeTypeDescription
namestringName of the project. Up to 255 characters
defaultbooleanWhether this project should open up by default when logging in to Belltastic
hmac_requiredbooleanWhether HMAC authorization by the Notification Component is required for this project
Example response

PUT https://belltastic.com/api/v1/project/1 with data {"name":"New name"}

{
  "message": "Project updated.",
  "data": {
    "id": 1,
    "name": "New name",
    "default": false,
    "hmac_required": false,
    "team_id": 1,
    "created_at": "2021-12-03T10:32:52+00:00",
    "updated_at": "2021-12-04T11:35:56+00:00",
    "deleted_at": null
  }
}

Archive project subscription required

PUT {base_uri}/project/{id}/archive

Archive the project (soft-delete). The data, including its users and notifications will remain on our servers for retrieval later if needed. The notification component will stop working for this project.

If the project was archived already, it will do nothing - the deleted_at timestamp will not be updated.

Example response

PUT https://belltastic.com/api/v1/project/1/archive

{
  "message": "Project archived.",
  "data": {
    "id": 1,
    "name": "Default",
    "default": false,
    "hmac_required": false,
    "team_id": 1,
    "created_at": "2021-12-03T10:32:52+00:00",
    "updated_at": "2021-12-04T11:35:56+00:00",
    "deleted_at": "2021-12-04T11:35:56+00:00"
  }
}

Destroy project subscription required

DELETE {base_uri}/project/{id}

Permanently delete the project and all of its related users and notifications.

DANGER

Data cannot be retrieved after the project has been destroyed as it will be permanently deleted from all our servers.

Example response

DELETE https://belltastic.com/api/v1/project/1

{
  "message": "Project deleted."
}