How a business sets up its work records: its terminology, the record types it can use, and the industry packs it can adopt. A record type is saved here as a draft; publishing it is an approved action.
What a business calls its work records, its pinned entries and sharing defaults, the job types it can use and the words resolved from them. Every label is tenant text inside the untrusted envelope.
Errors this route can answer besides the shared ones: BUSINESS_NOT_FOUND.
Example requestSample
curl -X GET "https://api.billingmart.com/v1/work-config" \
-H "Authorization: Bearer $BILLINGMART_API_KEY"
industry packs
List
GET/v1/industry-packs
The industry packs a business can adopt: key, name, version and a summary of the work setup each carries (words, record types). Platform content, no tenant data.
curl -X GET "https://api.billingmart.com/v1/industry-packs" \
-H "Authorization: Bearer $BILLINGMART_API_KEY"
job types
List
GET/v1/job-types
Job types, oldest first: label, icon, status, revision and whether a draft is waiting. Narrowed to the businesses the credential is confined to. active by default.
Scope
jobs:read
Effect
Read only
MCP tool
list_job_types
Retries
Safe to repeat
Parameters
List parameters
Name
In
Type
Notes
limitoptional
query
integer
min 1 · max 50
cursoroptional
query
string
up to 256 chars
businessIdoptional
query
id
—
statusoptional
query
enum
One of active, archived, all
Returns
data: JobTypeSummary[]. Pass meta.cursor back as cursor for the next page.
Errors this route can answer besides the shared ones: BUSINESS_NOT_FOUND.
Example requestSample
curl -X GET "https://api.billingmart.com/v1/job-types" \
-H "Authorization: Bearer $BILLINGMART_API_KEY"
job types
Create
POST/v1/job-types
Create a job type as a DRAFT for the given businesses (empty = every business, unconfined credentials only). Nothing is published or usable until an owner or admin publishes it in BillingMart.
Scope
workConfig:write
Effect
Writes a draft or record
MCP tool
create_job_type_draft
Retries
Send an Idempotency-Key; a repeat replays the stored answer for 24 hours
Request body
JSON. Money is an integer count of minor units beside its currency; quantities are thousandths.
Create request body
Field
Type
Notes
businessIdsrequired
id[]
up to 50 items
definitionrequired
object
—
Returns
data: object
Errors this route can answer besides the shared ones: VALIDATION_FAILED, BUSINESS_NOT_FOUND.
One job type: status, revision, businesses and the published definition records render. The waiting draft and its provenance come back only to an owner or admin credential that also holds workConfig:write. Confined to the businesses of the credential.
Errors this route can answer besides the shared ones: UNKNOWN_TYPE, PERMISSION_DENIED.
Example requestSample
curl -X GET "https://api.billingmart.com/v1/job-types/{typeId}/revisions/{revision}" \
-H "Authorization: Bearer $BILLINGMART_API_KEY"
job types
Save draft
POST/v1/job-types/{typeId}/draft
Save a new draft of an existing job type. Field keys of a published type are read-only. The published definition is untouched until an owner or admin publishes the draft in BillingMart.
Scope
workConfig:write
Effect
Writes a draft or record
MCP tool
save_job_type_draft
Retries
Send an Idempotency-Key; a repeat replays the stored answer for 24 hours
Parameters
Save draft parameters
Name
In
Type
Notes
typeIdrequired
path
id
—
Request body
JSON. Money is an integer count of minor units beside its currency; quantities are thousandths.
Save draft request body
Field
Type
Notes
businessIdsrequired
id[]
up to 50 items
definitionrequired
object
—
expectedRevisionoptional
integer
min 0
Returns
data: object
Errors this route can answer besides the shared ones: VALIDATION_FAILED, EDIT_CONFLICT, UNKNOWN_TYPE.
Ask the assistant to propose a work setup for a business from a plain description: terminology, record types, questions, stages and pins. Writes a proposal only; nothing changes until an owner or admin applies it in BillingMart. Uses AI credits.
Scope
workConfig:write
Effect
Writes a draft or record
MCP tool
create_work_proposal
Retries
Send an Idempotency-Key; a repeat replays the stored answer for 24 hours
Request body
JSON. Money is an integer count of minor units beside its currency; quantities are thousandths.
Propose request body
Field
Type
Notes
businessIdrequired
id
—
taskrequired
enum
One of setup, jobType, workflow
descriptionrequired
string
up to 2000 chars
typeIdoptional
id
—
Returns
data: object
Errors this route can answer besides the shared ones: VALIDATION_FAILED, BUSINESS_NOT_FOUND, AI_DISABLED, AI_CONSENT_REQUIRED, AI_CAP_REACHED, AI_CREDITS_EXHAUSTED, AI_OUTPUT_INVALID.
Read a work setup proposal: its status, the changes it would make and its summary. Only its author and owners and admins of the business can read it. The summary and every proposed value are tenant text inside the untrusted envelope.
Errors this route can answer besides the shared ones: NOT_FOUND.
Example requestSample
curl -X GET "https://api.billingmart.com/v1/work-proposals/{proposalId}" \
-H "Authorization: Bearer $BILLINGMART_API_KEY"
Object
WorkConfigView
WorkConfigView is computed by the server for this request, not a stored document, so no contract describes it. Its fields are the TypeScript type of the same name that the handler returns.
Object
IndustryPackSummary
IndustryPackSummary is computed by the server for this request, not a stored document, so no contract describes it. Its fields are the TypeScript type of the same name that the handler returns.
Object
JobTypeSummary
JobTypeSummary is computed by the server for this request, not a stored document, so no contract describes it. Its fields are the TypeScript type of the same name that the handler returns.
Object
JobTypeView
JobTypeView is computed by the server for this request, not a stored document, so no contract describes it. Its fields are the TypeScript type of the same name that the handler returns.
Object
JobTypeRevisionView
JobTypeRevisionView is computed by the server for this request, not a stored document, so no contract describes it. Its fields are the TypeScript type of the same name that the handler returns.
Object
WorkProposal
A proposed change to a business's work configuration, prepared by the assistant or a person and applied only after an owner or admin approves it with a second factor. FUNCTION-WRITTEN ONLY, by the proposal cores of.
WorkProposal fields
Field
Type
Notes
idrequired
Id
—
tenantrequired
TenantRef
—
taskrequired
enum
Which AI task prepared it: a whole-business setup, one job type, or a workflow for an existing type.
baseRevisionsrequired
WorkProposalBase
—
partsrequired
enum[]
Which parts of the configuration the proposal touches. At most 5 parts.
hunksrequired
WorkProposalHunk[]
At most 200 hunks; the proposal cores enforce it.
summaryoptional
string
Untrusted textPlain text, rendered as text.
statusrequired
enum
—
expiresAtrequired
IsoTimestamp
24 hours after creation.
createdAtrequired
IsoTimestamp
—
createdByrequired
Id
From the verified token, or the grant's subject when an agent prepared it.
appliedAtoptional
IsoTimestamp
—
appliedActionIdoptional
Id
The approved applyWorkConfig action that applied it.
Next section
Workspace and access
The workspace a credential acts in, its plan, how it pays for it, usage and AI credits, the connection an assistant holds, the people, keys and apps with access, and resetting a sandbox to its demo data.
We use Google Analytics on our website by default to understand visits. Choose Decline to turn it off; you can change this at any time on the Cookies page. We never send Google your name, email or account. Cookie policy