Documentation / API reference / Workspace / Workspace setup
API reference
Generate company profile Copy as Markdown
workspace.GenerateCompanyProfileWrite API key
Generate a company profile from the workspace's website. Returns Markdown for review without saving it; use workspace.UpdateBranding to save an approved profile. Uses workspace credits.
POST /v1/operations/workspace.GenerateCompanyProfileCopy URL
On this page Access & visibility Request Response Errors & retries Next steps JSON schemas
Request No parameters. Send an empty JSON object ({}).
Response Expand all fields Returns 200 OK with a JSON body.
The generated Markdown is returned for review; this call does not save it. Review and edit it, then pass it as profile_md to UpdateBranding. Generation reads the primary website configured in the workspace profile.
profile_mdstring Required
Workspace company profile formatted as Markdown.
Errors & retries Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits .
JSON schemas Use the complete schemas for validation or client generation.
Full request JSON schema {
"type" : "object" ,
"properties" : { } ,
"additionalProperties" : false ,
"examples" : [
{ }
]
} Full response JSON schema {
"type" : "object" ,
"properties" : {
"profile_md" : {
"type" : "string" ,
"description" : "Workspace company profile formatted as Markdown."
}
} ,
"required" : [
"profile_md"
] ,
"additionalProperties" : false ,
"examples" : [
{
"profile_md" : "Northstar helps small businesses organize their customer work."
}
]
} Try the request Use your API key in a server environment.
Act as a memberRequires administrator-approved delegation. cURL TypeScript Python
Fictional values. Replace IDs and business details with values from your workspace.
Request cURL curl 'https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile' \
-H "Authorization: Bearer $BRIGG_API_KEY " \
-H 'Content-Type: application/json' \
-H "Idempotency-Key: $BRIGG_REQUEST_ID " \
--data-raw '{}' TypeScript const requestId = process. env. BRIGG_REQUEST_ID ;
if ( ! requestId) throw new Error ( "Set BRIGG_REQUEST_ID once per action and reuse it on retries." ) ;
const response = await fetch ( "https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile" , {
method: "POST" ,
headers: {
Authorization: ` Bearer ${ process. env. BRIGG_API_KEY } ` ,
"Content-Type" : "application/json" ,
"Idempotency-Key" : requestId,
} ,
body: JSON . stringify ( { } ) ,
} ) ;
const result = await response. json ( ) ;
if ( ! response. ok) throw new Error ( ` ${ response. status} : ${ result. error} — ${ result. message} ` ) ;
console . log ( result) ; Python import json
import os
from urllib. request import Request, urlopen
from urllib. error import HTTPError
request_id = os. environ[ "BRIGG_REQUEST_ID" ]
payload = { }
request = Request(
"https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile" ,
data= json. dumps( payload) . encode( "utf-8" ) ,
headers= {
"Authorization" : f"Bearer { os. environ[ 'BRIGG_API_KEY' ] } " ,
"Content-Type" : "application/json" ,
"Idempotency-Key" : request_id,
} ,
method= "POST" ,
)
try :
with urlopen( request) as response:
print ( json. load( response) )
except HTTPError as error:
print ( error. code, json. load( error) )
raise cURL curl 'https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile' \
-H "Authorization: Bearer $BRIGG_API_KEY " \
-H 'Content-Type: application/json' \
-H "Brigg-Act-As: $BRIGG_ACT_AS " \
-H "Idempotency-Key: $BRIGG_REQUEST_ID " \
--data-raw '{}' TypeScript const actAs = process. env. BRIGG_ACT_AS ;
if ( ! actAs) throw new Error ( "Set BRIGG_ACT_AS to an approved member account ID." ) ;
const requestId = process. env. BRIGG_REQUEST_ID ;
if ( ! requestId) throw new Error ( "Set BRIGG_REQUEST_ID once per action and reuse it on retries." ) ;
const response = await fetch ( "https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile" , {
method: "POST" ,
headers: {
Authorization: ` Bearer ${ process. env. BRIGG_API_KEY } ` ,
"Content-Type" : "application/json" ,
"Brigg-Act-As" : actAs,
"Idempotency-Key" : requestId,
} ,
body: JSON . stringify ( { } ) ,
} ) ;
const result = await response. json ( ) ;
if ( ! response. ok) throw new Error ( ` ${ response. status} : ${ result. error} — ${ result. message} ` ) ;
console . log ( result) ; Python import json
import os
from urllib. request import Request, urlopen
from urllib. error import HTTPError
request_id = os. environ[ "BRIGG_REQUEST_ID" ]
payload = { }
request = Request(
"https://api.brigg.app/v1/operations/workspace.GenerateCompanyProfile" ,
data= json. dumps( payload) . encode( "utf-8" ) ,
headers= {
"Authorization" : f"Bearer { os. environ[ 'BRIGG_API_KEY' ] } " ,
"Content-Type" : "application/json" ,
"Brigg-Act-As" : os. environ[ "BRIGG_ACT_AS" ] ,
"Idempotency-Key" : request_id,
} ,
method= "POST" ,
)
try :
with urlopen( request) as response:
print ( json. load( response) )
except HTTPError as error:
print ( error. code, json. load( error) )
raise 200 OK Response example {
"profile_md" : "Northstar helps small businesses organize their customer work."
} Illustrative values, not a live response.