01
Personal API tokens
Generate, name, review, and revoke tokens from Settings. Each token belongs to a workspace user and is shown only once.
Developer access
Use secure personal API tokens to connect clients, projects, invoices, and the operational context your team already manages in StraSync.
A small, secure surface
Create tokens from workspace settings. The token is shown once, expires after one year, and can be revoked at any time.
What you can connect
StraSync API access is designed for practical automations, not a second system to learn. Keep your client record in one place and let other tools read or update the work around it.
01
Generate, name, review, and revoke tokens from Settings. Each token belongs to a workspace user and is shown only once.
02
Work with the REST API around clients, leads, projects, tickets, invoices, files, and other authenticated workspace resources.
03
Pass context to reporting, finance, support, or internal tools without rebuilding the client relationship in every system.
Developer reference
The API is HTTP and JSON based. You can use it from a server, a scheduled job, or any integration platform that can send authenticated requests.
01
Start with https://your-domain.com/api/v1. Replace the domain with the URL where your StraSync backend is deployed.
02
Growth users create tokens in Workspace settings → API access. Copy the secret immediately; it is shown only once.
03
Every request should accept JSON. POST and PUT requests also need Content-Type: application/json.
04
Tokens can read and change workspace data. Keep them in environment variables and never expose them in browser code.
Endpoint reference
/api/v1/clientsList client records with their contacts and pagination metadata.
Query: search, status, archived, per_page, page
/api/v1/clientsCreate a client record that can be reused by projects and invoices.
Body: company_name required; email, phone, status optional
/api/v1/projectsList projects, with client context and completion counts.
Query: status, client_id, archived, per_page, page
/api/v1/projectsCreate a project and connect it to an existing client.
Body: name required; client_id, dates, budget optional
/api/v1/invoicesRead invoices and filter the financial record by client or project.
Query: client_id, project_id, status, per_page, page
/api/v1/invoicesCreate a dated invoice from line items, tax, discount, and currency.
Body: client_id, issue_date, due_date, line_items required
Practical recipes
These examples use native fetch so the same headers and request shape work in Node.js, serverless functions, cron jobs, and most automation tools.
1. Read and filter records
Use query parameters for search and pagination.
const response = await fetch(
"https://your-domain.com/api/v1/clients?search=acme&per_page=20",
{
headers: {
Authorization: "Bearer YOUR_TOKEN",
Accept: "application/json",
},
},
);
const { data, meta } = await response.json();2. Create a client
Send a JSON body and check the 201 response.
const response = await fetch(
"https://your-domain.com/api/v1/clients",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
company_name: "Acme Agency",
email: "hello@acme.test",
status: "active",
}),
},
);3. Create an invoice
Link it to a client with a valid UUID and line items.
const response = await fetch(
"https://your-domain.com/api/v1/invoices",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
client_id: "CLIENT_UUID",
issue_date: "2026-09-02",
due_date: "2026-10-02",
line_items: [
{ description: "Website sprint", quantity: 1, unit_price: 1200 },
],
currency: "USD",
}),
},
);Three steps
The setup is deliberately small so an agency can connect a workflow without a long integration project.
Open Workspace settings → API access, give the token a clear name, and copy the secret when it is generated.
Use it in the Authorization header as a Bearer token. Keep it in your server environment, never in browser code or public repositories.
Make authenticated requests to the existing /api/v1 surface, then use the returned workspace records in your connected tool.
Successful list endpoints return data plus meta. Create and update endpoints return the affected record in data.
{
"data": [],
"meta": { "current_page": 1, "last_page": 1, "total": 0 }
}Use page and per_page on list endpoints. The response tells you current_page, last_page, per_page, and total.
401 means the token is missing or invalid, 403 means the workspace or role cannot perform the action, and 422 means validation failed. Read message and errors.
Request example
curl https://your-domain.com/api/v1/clients \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json"Availability
Free and Starter keep the core workspace simple. Growth unlocks personal API tokens for teams ready to connect StraSync with the rest of their operating stack.