Manage JobNimbus contacts, jobs, tasks, estimates and invoices from chat.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a contact. Give at least one of first_name, last_name, display_name or company. record_type_name (a contact workflow, e.g. Customer) and status_name (a status in that workflow, e.g. Lead) are required and must match the account settings (jobnimbus_get_account_settings). Workflow automations may fire. JobNimbus: POST /contacts.
Status within that workflow, e.g. Lead.
Contact workflow name, e.g. Customer.
Postal code.
City.
Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key.
Email address.
Company name.
Website.
Last name.
jnid of the user who is the sales rep.
Fax number.
First name.
Home phone.
State, e.g. UT.
Work phone.
Description / notes on the contact record.
Lead source name, e.g. Referral — must be one of the account's lead sources.
Country, e.g. United States.
Display name.
Mobile phone.
Street address, line 1.
Street address, line 2.
Custom fields by their JobNimbus name, e.g. {"Claim Number":"124523-f","Date of Loss":1550692800} or {"cf_string_1":"…"}. Dates are unix seconds. is_active / is_archived are ignored.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Create a contact. Give at least one of first_name, last_name, display_name or company. record_type_name (a contact workflow, e.g. Customer) and status_name (a status in that workflow, e.g. Lead) are required and must match the account settings (jobnimbus_get_account_settings). Workflow automations may fire. JobNimbus: POST /contacts.
| Argument | Type | Description |
|---|---|---|
| zip | string | Postal code. |
| city | string | City. |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| string | Email address. | |
| company | string | Company name. |
| website | string | Website. |
| last_name | string | Last name. |
| sales_rep | string | jnid of the user who is the sales rep. |
| fax_number | string | Fax number. |
| first_name | string | First name. |
| home_phone | string | Home phone. |
| state_text | string | State, e.g. UT. |
| work_phone | string | Work phone. |
| description | string | Description / notes on the contact record. |
| source_name | string | Lead source name, e.g. Referral — must be one of the account's lead sources. |
| status_name* | string | Status within that workflow, e.g. Lead. |
| country_name | string | Country, e.g. United States. |
| display_name | string | Display name. |
| mobile_phone | string | Mobile phone. |
| address_line1 | string | Street address, line 1. |
| address_line2 | string | Street address, line 2. |
| custom_fields | object | Custom fields by their JobNimbus name, e.g. {"Claim Number":"124523-f","Date of Loss":1550692800} or {"cf_string_1":"…"}. Dates are unix seconds. is_active / is_archived are ignored. |
| record_type_name* | string | Contact workflow name, e.g. Customer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"record_type_name",
"status_name"
],
"properties": {
"zip": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"email": {
"type": "string",
"description": "Email address."
},
"company": {
"type": "string",
"description": "Company name."
},
"website": {
"type": "string",
"description": "Website."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"sales_rep": {
"type": "string",
"description": "jnid of the user who is the sales rep."
},
"fax_number": {
"type": "string",
"description": "Fax number."
},
"first_name": {
"type": "string",
"description": "First name."
},
"home_phone": {
"type": "string",
"description": "Home phone."
},
"state_text": {
"type": "string",
"description": "State, e.g. UT."
},
"work_phone": {
"type": "string",
"description": "Work phone."
},
"description": {
"type": "string",
"description": "Description / notes on the contact record."
},
"source_name": {
"type": "string",
"description": "Lead source name, e.g. Referral — must be one of the account's lead sources."
},
"status_name": {
"type": "string",
"minLength": 1,
"description": "Status within that workflow, e.g. Lead."
},
"country_name": {
"type": "string",
"description": "Country, e.g. United States."
},
"display_name": {
"type": "string",
"description": "Display name."
},
"mobile_phone": {
"type": "string",
"description": "Mobile phone."
},
"address_line1": {
"type": "string",
"description": "Street address, line 1."
},
"address_line2": {
"type": "string",
"description": "Street address, line 2."
},
"custom_fields": {
"type": "object",
"description": "Custom fields by their JobNimbus name, e.g. {\"Claim Number\":\"124523-f\",\"Date of Loss\":1550692800} or {\"cf_string_1\":\"…\"}. Dates are unix seconds. is_active / is_archived are ignored.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"record_type_name": {
"type": "string",
"minLength": 1,
"description": "Contact workflow name, e.g. Customer."
}
}
}Create a job (project). name, record_type_name (a job workflow, e.g. Residential) and status_name (a status in it, e.g. Lead) are required and must match the account settings. Link the homeowner with primary_contact_id. Workflow automations may fire. JobNimbus: POST /jobs.
| Argument | Type | Description |
|---|---|---|
| zip | string | Postal code. |
| city | string | City. |
| name* | string | Job name, e.g. Smith Roof Replacement. |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| date_end | integer | End date, unix seconds. |
| sales_rep | string | jnid of the user who is the sales rep. |
| date_start | integer | Start date, unix seconds. |
| state_text | string | State, e.g. UT. |
| description | string |
Add a note (activity entry) to a contact or job's activity feed. record_type_name defaults to Note; use another activity type from the account settings if needed. JobNimbus: POST /activities.
| Argument | Type | Description |
|---|---|---|
| note* | string | The note text. |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| is_private | boolean | Mark the note private. |
| primary_id* | string | jnid of the contact or job the note belongs to (sent as primary.id). |
| record_type_name | string | Activity type name. Defaults to Note. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"primary_id",
"note"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "The note text."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"is_private": {
"type": "boolean",
"description": "Mark the note private."
},
"primary_id": {
"type": "string",
"minLength": 1,
"description": "jnid of the contact or job the note belongs to (sent as primary.id)."
},
"record_type_name": {
"type": "string",
"description": "Activity type name. Defaults to Note."
}
}
}Create a task or appointment on a contact or job. title, date_start (unix seconds) and record_type_name (a task type from the account settings, e.g. Task or Appointment) are required; related_id links it to the contact/job. JobNimbus: POST /tasks.
| Argument | Type | Description |
|---|---|---|
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| title* | string | Task title. |
| date_end | integer | End time, unix seconds. |
| priority | integer | Priority: 0 none, 1 high, 2 medium, 3 low. |
| owner_ids | array | jnids of the users to assign (sent as owners: [{id}]). |
| date_start* | integer | Start (or due) time, unix seconds. |
| related_id* | string | jnid of the contact or job this task belongs to (sent as related: [{id}]). |
| description | string |
Fetch the account's configuration: contact and job workflows with their statuses, task types, activity (note) types, file types and lead sources. Use it to find the exact record_type_name / status_name / source_name values the create and update tools need. Pass field (e.g. groups) to get just one setting. JobNimbus: GET /account/settings.
| Argument | Type | Description |
|---|---|---|
| field | string | Return only this setting, e.g. groups. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"field": {
"type": "string",
"description": "Return only this setting, e.g. groups."
}
}
}Fetch a single contact by jnid: name, company, phones, email, address, workflow status, lead source, sales rep and custom fields. JobNimbus: GET /contacts/{jnid}.
| Argument | Type | Description |
|---|---|---|
| jnid* | string | The contact's jnid (JobNimbus record id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"jnid": {
"type": "string",
"minLength": 1,
"description": "The contact's jnid (JobNimbus record id)."
}
}
}Fetch a single invoice by jnid, including line items, payments applied, total, total_paid and due. JobNimbus: GET /v2/invoices/{jnid}.
| Argument | Type | Description |
|---|---|---|
| jnid* | string | The invoice's jnid (JobNimbus record id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"jnid": {
"type": "string",
"minLength": 1,
"description": "The invoice's jnid (JobNimbus record id)."
}
}
}Fetch a single job by jnid: name, number, workflow and status, address, sales rep, owners, related contacts and custom fields. JobNimbus: GET /jobs/{jnid}.
| Argument | Type | Description |
|---|---|---|
| jnid* | string | The job's jnid (JobNimbus record id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"jnid": {
"type": "string",
"minLength": 1,
"description": "The job's jnid (JobNimbus record id)."
}
}
}Fetch a single task or appointment by jnid: title, type, start/end, priority, completion, owners and related records. JobNimbus: GET /tasks/{jnid}.
| Argument | Type | Description |
|---|---|---|
| jnid* | string | The task's jnid (JobNimbus record id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"jnid": {
"type": "string",
"minLength": 1,
"description": "The task's jnid (JobNimbus record id)."
}
}
}List activity entries — notes plus system events such as status changes and record creation — optionally for one contact or job (related_id). Returns {count, activity}. JobNimbus: GET /activities.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
| filter | object | ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {"must":[{"term":{"first_name":"john"}}]}; {"must":[{"range":{"date_updated":{"gte":"now-1d"}}}]}; {"must":[{"terms":{"jnid":["a","b"]}}]}; {"must":[{"term":{"record_type_name":"Customer"}}]}. |
| related_id | string | Only records related to this contact or job jnid (adds a related.id term to the filter). |
| sort_field | string | Field to sort by (API default date_created), e.g. date_updated. |
| sort_direction | string | Sort direction (API default desc). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
},
"filter": {
"type": "object",
"description": "ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {\"must\":[{\"term\":{\"first_name\":\"john\"}}]}; {\"must\":[{\"range\":{\"date_updated\":{\"gte\":\"now-1d\"}}}]}; {\"must\":[{\"terms\":{\"jnid\":[\"a\",\"b\"]}}]}; {\"must\":[{\"term\":{\"record_type_name\":\"Customer\"}}]}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"related_id": {
"type": "string",
"description": "Only records related to this contact or job jnid (adds a related.id term to the filter)."
},
"sort_field": {
"type": "string",
"description": "Field to sort by (API default date_created), e.g. date_updated."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (API default desc)."
}
}
}List contacts (customers, leads, adjusters, subcontractors…), newest first by default, optionally filtered with an ElasticSearch-style query. Returns {count, results}. JobNimbus: GET /contacts.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
| filter | object | ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {"must":[{"term":{"first_name":"john"}}]}; {"must":[{"range":{"date_updated":{"gte":"now-1d"}}}]}; {"must":[{"terms":{"jnid":["a","b"]}}]}; {"must":[{"term":{"record_type_name":"Customer"}}]}. |
| sort_field | string | Field to sort by (API default date_created), e.g. date_updated. |
| sort_direction | string | Sort direction (API default desc). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
},
"filter": {
"type": "object",
"description": "ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {\"must\":[{\"term\":{\"first_name\":\"john\"}}]}; {\"must\":[{\"range\":{\"date_updated\":{\"gte\":\"now-1d\"}}}]}; {\"must\":[{\"terms\":{\"jnid\":[\"a\",\"b\"]}}]}; {\"must\":[{\"term\":{\"record_type_name\":\"Customer\"}}]}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sort_field": {
"type": "string",
"description": "Field to sort by (API default date_created), e.g. date_updated."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (API default desc)."
}
}
}List estimates with number, status, line items, subtotal, tax, total, margin, e-sign state and related job/contact. Returns {count, results}; count is the account total. JobNimbus: GET /v2/estimates.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
}
}
}List file attachments (photos, documents) with filename, content type, size, file type and the contact/job they belong to — optionally for one record (related_id). Metadata only; file bytes are not downloaded. Returns {count, files}. JobNimbus: GET /files.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
| filter | object | ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {"must":[{"term":{"first_name":"john"}}]}; {"must":[{"range":{"date_updated":{"gte":"now-1d"}}}]}; {"must":[{"terms":{"jnid":["a","b"]}}]}; {"must":[{"term":{"record_type_name":"Customer"}}]}. |
| related_id | string | Only records related to this contact or job jnid (adds a related.id term to the filter). |
| sort_field | string | Field to sort by (API default date_created), e.g. date_updated. |
| sort_direction | string | Sort direction (API default desc). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
},
"filter": {
"type": "object",
"description": "ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {\"must\":[{\"term\":{\"first_name\":\"john\"}}]}; {\"must\":[{\"range\":{\"date_updated\":{\"gte\":\"now-1d\"}}}]}; {\"must\":[{\"terms\":{\"jnid\":[\"a\",\"b\"]}}]}; {\"must\":[{\"term\":{\"record_type_name\":\"Customer\"}}]}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"related_id": {
"type": "string",
"description": "Only records related to this contact or job jnid (adds a related.id term to the filter)."
},
"sort_field": {
"type": "string",
"description": "Field to sort by (API default date_created), e.g. date_updated."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (API default desc)."
}
}
}List invoices with number, status, line items, total, total_paid, amount due, due date and related job/contact. Returns {count, results}; count is the account total. JobNimbus: GET /v2/invoices.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
}
}
}List jobs (projects), newest first by default, optionally filtered — e.g. by status {"must":[{"term":{"status_name":"Lead"}}]} or by the related contact via related_id. Returns {count, results}. JobNimbus: GET /jobs.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
| filter | object | ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {"must":[{"term":{"first_name":"john"}}]}; {"must":[{"range":{"date_updated":{"gte":"now-1d"}}}]}; {"must":[{"terms":{"jnid":["a","b"]}}]}; {"must":[{"term":{"record_type_name":"Customer"}}]}. |
| related_id | string | Only records related to this contact or job jnid (adds a related.id term to the filter). |
| sort_field | string | Field to sort by (API default date_created), e.g. date_updated. |
| sort_direction | string | Sort direction (API default desc). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
},
"filter": {
"type": "object",
"description": "ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {\"must\":[{\"term\":{\"first_name\":\"john\"}}]}; {\"must\":[{\"range\":{\"date_updated\":{\"gte\":\"now-1d\"}}}]}; {\"must\":[{\"terms\":{\"jnid\":[\"a\",\"b\"]}}]}; {\"must\":[{\"term\":{\"record_type_name\":\"Customer\"}}]}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"related_id": {
"type": "string",
"description": "Only records related to this contact or job jnid (adds a related.id term to the filter)."
},
"sort_field": {
"type": "string",
"description": "Field to sort by (API default date_created), e.g. date_updated."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (API default desc)."
}
}
}List tasks and appointments, optionally for one contact or job (related_id) or filtered, e.g. open ones: {"must":[{"term":{"is_completed":false}}]}. Returns {count, results}. JobNimbus: GET /tasks.
| Argument | Type | Description |
|---|---|---|
| from | integer | Zero-based offset for pagination (default 0). Next page: from + size. |
| size | integer | Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000). |
| filter | object | ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {"must":[{"term":{"first_name":"john"}}]}; {"must":[{"range":{"date_updated":{"gte":"now-1d"}}}]}; {"must":[{"terms":{"jnid":["a","b"]}}]}; {"must":[{"term":{"record_type_name":"Customer"}}]}. |
| related_id | string | Only records related to this contact or job jnid (adds a related.id term to the filter). |
| sort_field | string | Field to sort by (API default date_created), e.g. date_updated. |
| sort_direction | string | Sort direction (API default desc). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based offset for pagination (default 0). Next page: from + size."
},
"size": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Records per page, 1-1000. Defaults to 25 here (the API's own default is 1000)."
},
"filter": {
"type": "object",
"description": "ElasticSearch-style bool query object, sent as the `filter` parameter. Examples: {\"must\":[{\"term\":{\"first_name\":\"john\"}}]}; {\"must\":[{\"range\":{\"date_updated\":{\"gte\":\"now-1d\"}}}]}; {\"must\":[{\"terms\":{\"jnid\":[\"a\",\"b\"]}}]}; {\"must\":[{\"term\":{\"record_type_name\":\"Customer\"}}]}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"related_id": {
"type": "string",
"description": "Only records related to this contact or job jnid (adds a related.id term to the filter)."
},
"sort_field": {
"type": "string",
"description": "Field to sort by (API default date_created), e.g. date_updated."
},
"sort_direction": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction (API default desc)."
}
}
}List the account's JobNimbus users (team members) with name, email, id and whether they are active. The id is what owners, sales_rep and owner_ids take. JobNimbus: GET /account/users.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Edit fields on an existing contact — only the fields you pass change. Changing status_name moves it along its workflow (automations may fire). Cannot delete or archive. JobNimbus: PUT /contacts/{jnid}.
| Argument | Type | Description |
|---|---|---|
| zip | string | Postal code. |
| city | string | City. |
| jnid* | string | The contact's jnid (JobNimbus record id). |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| string | Email address. | |
| company | string | Company name. |
| website | string | Website. |
| last_name | string | Last name. |
| sales_rep | string | jnid of the user who is the sales rep. |
Edit fields on an existing job — e.g. move it to a new status_name, change the address, sales rep or dates. Only the fields you pass change; if JobNimbus rejects a status change, pass record_type_name alongside status_name. Automations may fire. Cannot delete or archive. JobNimbus: PUT /jobs/{jnid}.
| Argument | Type | Description |
|---|---|---|
| zip | string | Postal code. |
| city | string | City. |
| jnid* | string | The job's jnid (JobNimbus record id). |
| name | string | New job name. |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| date_end | integer | End date, unix seconds. |
| sales_rep | string | jnid of the user who is the sales rep. |
| date_start | integer | Start date, unix seconds. |
| state_text |
Edit an existing task — reschedule it, change the title or priority, reassign it, or mark it complete with is_completed=true (reopen with false). Only the fields you pass change. Cannot delete. JobNimbus: PUT /tasks/{jnid}.
| Argument | Type | Description |
|---|---|---|
| jnid* | string | The task's jnid (JobNimbus record id). |
| actor | string | Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key. |
| title | string | New title. |
| date_end | integer | New end time, unix seconds. |
| priority | integer | Priority: 0 none, 1 high, 2 medium, 3 low. |
| owner_ids | array | jnids of the users to assign (sent as owners: [{id}]). |
| date_start | integer | New start time, unix seconds. |
| actual_time | integer | Minutes logged. |
| description |
| Job description. |
| source_name | string | Lead source name — must be one of the account's lead sources. |
| status_name* | string | Status within that workflow. |
| country_name | string | Country, e.g. United States. |
| address_line1 | string | Street address, line 1. |
| address_line2 | string | Street address, line 2. |
| custom_fields | object | Custom fields by their JobNimbus name, e.g. {"Claim Number":"124523-f","Date of Loss":1550692800} or {"cf_string_1":"…"}. Dates are unix seconds. is_active / is_archived are ignored. |
| record_type_name* | string | Job workflow name. |
| primary_contact_id | string | jnid of the job's primary contact (sent as primary.id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"record_type_name",
"status_name"
],
"properties": {
"zip": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Job name, e.g. Smith Roof Replacement."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"date_end": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "End date, unix seconds."
},
"sales_rep": {
"type": "string",
"description": "jnid of the user who is the sales rep."
},
"date_start": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start date, unix seconds."
},
"state_text": {
"type": "string",
"description": "State, e.g. UT."
},
"description": {
"type": "string",
"description": "Job description."
},
"source_name": {
"type": "string",
"description": "Lead source name — must be one of the account's lead sources."
},
"status_name": {
"type": "string",
"minLength": 1,
"description": "Status within that workflow."
},
"country_name": {
"type": "string",
"description": "Country, e.g. United States."
},
"address_line1": {
"type": "string",
"description": "Street address, line 1."
},
"address_line2": {
"type": "string",
"description": "Street address, line 2."
},
"custom_fields": {
"type": "object",
"description": "Custom fields by their JobNimbus name, e.g. {\"Claim Number\":\"124523-f\",\"Date of Loss\":1550692800} or {\"cf_string_1\":\"…\"}. Dates are unix seconds. is_active / is_archived are ignored.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"record_type_name": {
"type": "string",
"minLength": 1,
"description": "Job workflow name."
},
"primary_contact_id": {
"type": "string",
"description": "jnid of the job's primary contact (sent as primary.id)."
}
}
}| Task details. |
| estimated_time | integer | Estimated minutes. |
| record_type_name* | string | Task type name, e.g. Task or Appointment. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"date_start",
"record_type_name",
"related_id"
],
"properties": {
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"title": {
"type": "string",
"minLength": 1,
"description": "Task title."
},
"date_end": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "End time, unix seconds."
},
"priority": {
"type": "integer",
"maximum": 3,
"minimum": 0,
"description": "Priority: 0 none, 1 high, 2 medium, 3 low."
},
"owner_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "jnids of the users to assign (sent as owners: [{id}])."
},
"date_start": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start (or due) time, unix seconds."
},
"related_id": {
"type": "string",
"minLength": 1,
"description": "jnid of the contact or job this task belongs to (sent as related: [{id}])."
},
"description": {
"type": "string",
"description": "Task details."
},
"estimated_time": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Estimated minutes."
},
"record_type_name": {
"type": "string",
"minLength": 1,
"description": "Task type name, e.g. Task or Appointment."
}
}
}| fax_number |
| string |
| Fax number. |
| first_name | string | First name. |
| home_phone | string | Home phone. |
| state_text | string | State, e.g. UT. |
| work_phone | string | Work phone. |
| description | string | Description / notes on the contact record. |
| source_name | string | Lead source name, e.g. Referral — must be one of the account's lead sources. |
| status_name | string | New workflow status name. |
| country_name | string | Country, e.g. United States. |
| display_name | string | Display name. |
| mobile_phone | string | Mobile phone. |
| address_line1 | string | Street address, line 1. |
| address_line2 | string | Street address, line 2. |
| custom_fields | object | Custom fields by their JobNimbus name, e.g. {"Claim Number":"124523-f","Date of Loss":1550692800} or {"cf_string_1":"…"}. Dates are unix seconds. is_active / is_archived are ignored. |
| record_type_name | string | Move to this contact workflow. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"zip": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City."
},
"jnid": {
"type": "string",
"minLength": 1,
"description": "The contact's jnid (JobNimbus record id)."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"email": {
"type": "string",
"description": "Email address."
},
"company": {
"type": "string",
"description": "Company name."
},
"website": {
"type": "string",
"description": "Website."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"sales_rep": {
"type": "string",
"description": "jnid of the user who is the sales rep."
},
"fax_number": {
"type": "string",
"description": "Fax number."
},
"first_name": {
"type": "string",
"description": "First name."
},
"home_phone": {
"type": "string",
"description": "Home phone."
},
"state_text": {
"type": "string",
"description": "State, e.g. UT."
},
"work_phone": {
"type": "string",
"description": "Work phone."
},
"description": {
"type": "string",
"description": "Description / notes on the contact record."
},
"source_name": {
"type": "string",
"description": "Lead source name, e.g. Referral — must be one of the account's lead sources."
},
"status_name": {
"type": "string",
"description": "New workflow status name."
},
"country_name": {
"type": "string",
"description": "Country, e.g. United States."
},
"display_name": {
"type": "string",
"description": "Display name."
},
"mobile_phone": {
"type": "string",
"description": "Mobile phone."
},
"address_line1": {
"type": "string",
"description": "Street address, line 1."
},
"address_line2": {
"type": "string",
"description": "Street address, line 2."
},
"custom_fields": {
"type": "object",
"description": "Custom fields by their JobNimbus name, e.g. {\"Claim Number\":\"124523-f\",\"Date of Loss\":1550692800} or {\"cf_string_1\":\"…\"}. Dates are unix seconds. is_active / is_archived are ignored.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"record_type_name": {
"type": "string",
"description": "Move to this contact workflow."
}
}
}| string |
| State, e.g. UT. |
| description | string | Job description. |
| source_name | string | Lead source name — must be one of the account's lead sources. |
| status_name | string | New workflow status name. |
| country_name | string | Country, e.g. United States. |
| address_line1 | string | Street address, line 1. |
| address_line2 | string | Street address, line 2. |
| custom_fields | object | Custom fields by their JobNimbus name, e.g. {"Claim Number":"124523-f","Date of Loss":1550692800} or {"cf_string_1":"…"}. Dates are unix seconds. is_active / is_archived are ignored. |
| record_type_name | string | Job workflow name. |
| primary_contact_id | string | jnid of the job's primary contact (sent as primary.id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"zip": {
"type": "string",
"description": "Postal code."
},
"city": {
"type": "string",
"description": "City."
},
"jnid": {
"type": "string",
"minLength": 1,
"description": "The job's jnid (JobNimbus record id)."
},
"name": {
"type": "string",
"description": "New job name."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"date_end": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "End date, unix seconds."
},
"sales_rep": {
"type": "string",
"description": "jnid of the user who is the sales rep."
},
"date_start": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Start date, unix seconds."
},
"state_text": {
"type": "string",
"description": "State, e.g. UT."
},
"description": {
"type": "string",
"description": "Job description."
},
"source_name": {
"type": "string",
"description": "Lead source name — must be one of the account's lead sources."
},
"status_name": {
"type": "string",
"description": "New workflow status name."
},
"country_name": {
"type": "string",
"description": "Country, e.g. United States."
},
"address_line1": {
"type": "string",
"description": "Street address, line 1."
},
"address_line2": {
"type": "string",
"description": "Street address, line 2."
},
"custom_fields": {
"type": "object",
"description": "Custom fields by their JobNimbus name, e.g. {\"Claim Number\":\"124523-f\",\"Date of Loss\":1550692800} or {\"cf_string_1\":\"…\"}. Dates are unix seconds. is_active / is_archived are ignored.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"record_type_name": {
"type": "string",
"description": "Job workflow name."
},
"primary_contact_id": {
"type": "string",
"description": "jnid of the job's primary contact (sent as primary.id)."
}
}
}| string |
| New details. |
| is_completed | boolean | true marks the task done; false reopens it. |
| estimated_time | integer | Estimated minutes. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jnid"
],
"properties": {
"jnid": {
"type": "string",
"minLength": 1,
"description": "The task's jnid (JobNimbus record id)."
},
"actor": {
"type": "string",
"description": "Optional JobNimbus user email to act as. The record is created/edited with that user's permissions and shows them as the author. Needs an admin-level API key."
},
"title": {
"type": "string",
"description": "New title."
},
"date_end": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "New end time, unix seconds."
},
"priority": {
"type": "integer",
"maximum": 3,
"minimum": 0,
"description": "Priority: 0 none, 1 high, 2 medium, 3 low."
},
"owner_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "jnids of the users to assign (sent as owners: [{id}])."
},
"date_start": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "New start time, unix seconds."
},
"actual_time": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Minutes logged."
},
"description": {
"type": "string",
"description": "New details."
},
"is_completed": {
"type": "boolean",
"description": "true marks the task done; false reopens it."
},
"estimated_time": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Estimated minutes."
}
}
}