GET
/
v1
/
projects
/
{project_id}
Get a project
curl --request GET \
  --url https://platform.jobbit.uk/v1/projects/{project_id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://platform.jobbit.uk/v1/projects/{project_id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://platform.jobbit.uk/v1/projects/{project_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://platform.jobbit.uk/v1/projects/{project_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://platform.jobbit.uk/v1/projects/{project_id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://platform.jobbit.uk/v1/projects/{project_id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://platform.jobbit.uk/v1/projects/{project_id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "e57b2a93-0d6c-4f18-9a41-83c1d7e0b2f4",
  "user_id": "7b0e2c4a-1d3f-4c8e-9a52-6f1d0e8b3a77",
  "name": "Kent Physio website",
  "description": "Copy, photos and bookings for the Kent Physio site.",
  "status": "active",
  "image_url": null,
  "avatar_seed": "kent-physio",
  "is_pinned": true,
  "instructions": "Write in plain British English. Never promise treatment outcomes.",
  "created_at": "2026-10-12T09:20:00",
  "updated_at": "2026-11-05T14:03:49",
  "task_count": 3,
  "completed_task_count": 2,
  "chat_count": 4,
  "file_count": 6,
  "secret_count": 1,
  "app_count": 1,
  "automation_count": 1,
  "my_role": "owner",
  "member_count": 2,
  "owner": {
    "user_id": "7b0e2c4a-1d3f-4c8e-9a52-6f1d0e8b3a77",
    "name": "Sam",
    "email": "sam@kentphysio.co.uk",
    "avatar_url": null
  },
  "members": [],
  "files": [],
  "notes": []
}
{
"error": {
"code": "invalid_key",
"message": "the API key is missing or invalid",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "insufficient_scope",
"message": "this key does not have the deploy:write permission",
"details": {
"required": "deploy:write"
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "not_found",
"message": "no such project or item",
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "invalid_request",
"message": "the request is not valid",
"details": [
{
"location": [
"body",
"name"
],
"message": "String should match pattern '^[a-z0-9][a-z0-9-]*$'",
"type": "string_pattern_mismatch"
}
],
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}
{
"error": {
"code": "rate_limited",
"message": "too many read requests, retry in 4 s",
"details": {
"group": "read",
"limit": 120,
"window_seconds": 60
},
"request_id": "5d3f0b7c8a2e4e19b6c47a90d1e2f3a4"
}
}

Authorizations

Authorization
string
header
required

An API key from Settings → API keys, sent as Authorization: Bearer jb_live_…

Path Parameters

project_id
string
required

The project id.

Response

The project.

id
string
required

The project id.

name
string
required

The name.

status
string
required

The project's status. New projects are active.

user_id
string

The owner's account id.

description
string | null

What the project is for.

image_url
string | null

The project picture.

avatar_seed
string | null

Seed for the generated picture.

is_pinned
boolean

Whether this account pinned it. Pins are personal.

instructions
string | null

Instructions the agent follows in every chat of the project.

created_at
string<date-time>

When it was made.

updated_at
string<date-time> | null

When it last changed.

task_count
integer

Tasks in the project.

completed_task_count
integer

Tasks completed.

chat_count
integer

This account's chats in the project.

file_count
integer

Files held.

secret_count
integer

Secrets held. Their names and values are not available here.

app_count
integer

Apps in the project.

automation_count
integer

Automations in the project.

my_role
enum<string> | null

This account's role.

Available options:
owner,
editor,
viewer,
null
member_count
integer

People in the project.

owner
object | null
members
object[]

A few members, oldest first.

files
object[]

A first page of the project's files.

notes
object[]

A first page of the project's notes.