Skip to main content

Managing projects and pages with the API

You can use the Node API to create and manage projects and pages on DebugBear.

Note that you'll need an Admin API key to do this, rather than a project-level API key.

Creating projects and pages

Use debugbear.projects.create to add a new project, then call createPage on the project.

const { DebugBear } = require("debugbear");
const debugbear = new DebugBear(process.env.DEBUGBEAR_API_KEY);

const project = await debugbear.projects.create({ name: "My project" });
const page = await project.createPage({
name: "Example",
url: "http://example.com/",
region: "germany",
testScheduleName: "Every 12 hours",
deviceName: "Desktop",
advancedSettings: ["Staging Basic Auth"],
tags: ["Tag 1"]
});
console.log(page);

And this is the created page:

{
"id": "11111",
"name": "Example",
"url": "http://example.com/",
"region": "germany",
"testSchedules": [{
"id": "22222",
"name": "Every 12 hours",
"days": [0, 1, 2, 3, 4, 5, 6],
"times": []
}],
"device": {
"id": "33333",
"name": "Desktop",
"rtt": 40,
"bandwidthKbps": 8192,
"formFactor": "desktop",
"cpuThrottling": 1
},
"advancedSettings": [{
"id": "18",
"name": "Staging Basic Auth",
"type": "basicAuth"
}],
"tags": ["Tag 1"]
}

Creating a project using curl

curl https://www.debugbear.com/api/v1/projects \
-X POST \
-H "x-api-key: API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Project Name"}'

The response will look like this:

{"id":"123456","name":"Project Name","pages":[]}

Creating a page using curl

curl https://www.debugbear.com/api/v1/projects/123456/pages \
-X POST \
-H "x-api-key: API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Example Homepage", "url": "https://example.com", "region": "uk", "tags": ["homepage"]}'

Listing projects and pages

const projects = await debugbear.projects.list();

Response:

[
{
"id": 123456789,
"name": "My project",
"pages": [
{
"id": 999999,
"name": "Example",
"url": "http://example.com/",
"region": "germany",
"testSchedules": [{
"id": "22222",
"name": "Every 12 hours",
"days": [0, 1, 2, 3, 4, 5, 6],
"times": []
}],
"device": {
"id": "25321",
"name": "Mobile",
"rtt": 150,
"bandwidthKbps": 1638,
"formFactor": "mobile",
"cpuThrottling": 4
}
}
]
}
]

Using curl

curl https://www.debugbear.com/api/v1/projects \
-H "x-api-key: API_KEY"

Update pages

await debugbear.pages.update(PAGE_ID, {
tags: ["staging"],
advancedSettings: ["Staging Auth"]
});

Delete projects

const project = await debugbear.projects.create({ name: "My project" });
await project.delete();

Delete pages

const project = await debugbear.projects.create({ name: "My project" });
const page = await project.createPage({
name: "Example",
url: "http://example.com/",
});
await project.deletePage(page.id);