Skip to main content
Glama
Zeekeey-jpeg

singleops-mcp-server

by Zeekeey-jpeg

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SINGLEOPS_MAX_RPSNoRequests per second.1
SINGLEOPS_BASE_URLNoOverride for a different SingleOps host.https://app.singleops.com
SINGLEOPS_HTTP_HOSTNoHTTP bind address.127.0.0.1
SINGLEOPS_HTTP_PORTNoHTTP bind port.3333
SINGLEOPS_HTTP_TOKENNoRequired for --http. Clients send Authorization: Bearer <token>.
SINGLEOPS_MAX_WRITESNoLive writes allowed per server run.25
SINGLEOPS_ENABLE_WRITENoRegister create/update tools.false
SINGLEOPS_ENABLE_DELETENoRegister delete tools (still need confirm).false
SINGLEOPS_LEAD_USER_EMAILNoOptional, for the official Lead Entry API tools.
SINGLEOPS_LEAD_USER_TOKENNoOptional, for the official Lead Entry API tools.
SINGLEOPS_HTTP_ALLOWED_ORIGINSNoComma-separated browser origins allowed to call HTTP mode.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
singleops_read_lead_list_operationsC

Lead Entry API: list operations (divisions). (GET /api/v1/operations) Verified route. Returns the endpoint's JSON response.

singleops_read_lead_list_custom_inputsB

Lead Entry API: list custom input (custom field) definitions. (GET /api/v1/custom_inputs) Verified route. Returns the endpoint's JSON response.

singleops_read_lead_list_clients_search_by_fieldB

Lead Entry API: search clients. search_field = email | phone (prefix match). (GET /api/v1/clients/search_by_field) Verified route. Query params seen: search_field, search_term, page. Returns the endpoint's JSON response.

singleops_read_list_account_settings_options_quickbooksB

List account settings options quickbooks. (GET /api/v1/account_settings/options/quickbooks) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: accounts_receivable, refund_account, undeposited_funds, deposit_item, prepay_item.

singleops_read_list_accounts_infoB

List accounts info. (GET /api/v1/accounts/info) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: account_constants, is_open_edge_enabled, is_qbo_connected, is_qbwc_connected, can_save_credit_cards, use_percent_pricing, term_id, tax_location_id, react_feature_flags, signed_up_singleops_financing, has_access_to_multiple_dashboards, invoice_lifespan_in_years, accounts_receivable_quickbooks_account_id, refund_quickbooks_account_id, undeposited_funds_quickbooks_account_id, deposit_item_id, prepay_item_id, signed_up_singleops_payments.

singleops_read_get_dashboardA

Get dashboard by id. (GET /api/v1/dashboards/{id}) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: id, account_id, title, layouts, created_at, updated_at, user_id.

singleops_read_list_operationsC

List operations. (GET /api/v1/operations) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: [].id, [].name, [].active, [].tax_location_id, [].display_name, [].location_id, [].location.

singleops_read_list_users_currentC

List users current. (GET /api/v1/users/current) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: id, account_id, name, email, manager_user_id, rate, first_name, last_name, custom_fid, vendor_id, is_sales_rep, office, mobile, route_capacity, color, color_priority, role_id, html_color, text_color, title, operations, sales_reps, operation_id, all_operations, is_super_admin, role, default_dashboard_id.

singleops_read_list_widgetsB

List widgets. (GET /api/v1/widgets) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: dashboard_id. Returns the endpoint's JSON response.

singleops_read_list_portal_accounts_feature_flagsB

List portal accounts feature flags. (GET /client/api/v1/accounts/feature_flags) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: show_rich_text_notes.

singleops_read_list_client_location_statsA

List client location stats for one client/location. (GET /clients/{client_id}/location/{location_id}/stats) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: year. Returns JSON with keys: material, service, total, type.

singleops_read_list_client_emailsB

List client emails for one id. (GET /clients/{id}/emails) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, email_statuses, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_invoicesC

List client invoices for one id. (GET /clients/{id}/invoices) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], columns[15][data], columns[15][name], columns[15][searchable], columns[15][orderable], columns[15][search][value], columns[15][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, invoice_statuses, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_jobsB

List client jobs for one id. (GET /clients/{id}/jobs) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_locationsB

List client locations for one id. (GET /clients/{id}/locations) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_stat_hoursA

List client stat hours for one id. (GET /clients/{id}/stats/hours.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: year. Returns JSON with keys: data, start_date, end_date.

singleops_read_list_client_stat_revenueB

List client stat revenue for one id. (GET /clients/{id}/stats/revenue.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: year. Returns JSON with keys: data, start_date, end_date.

singleops_read_list_client_tasksC

List client tasks for one id. (GET /clients/{id}/tasks) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_text_messagesB

List client text messages for one id. (GET /clients/{id}/text_messages) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_client_visitsC

List client visits for one id. (GET /clients/{id}/visits) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_clientsB

Search clients (server-side table query: paging, sorting, filters). (GET /clients/data_table) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], sales_rep_ids[], show_inactive_clients, show_on_hold_clients, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_email_spam_addresses_check_batch_emailsB

List email spam addresses check batch emails. (POST /email_spam_addresses/check_batch_emails) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: emails[]. Returns JSON with keys: has_spam, spam_list, has_bounced, bounce_list. Read-only query sent as POST (filters go in body).

singleops_read_list_emails_reportC

List emails report. (GET /emails/report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, email_statuses, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_invoices_archived_invoicesC

Search invoices archived invoices (server-side table query: paging, sorting, filters). (GET /invoices/archived_invoices_data_table) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_invoicesB

Search invoices (server-side table query: paging, sorting, filters). (POST /invoices/data_table) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_list_invoices_invoice_totalsB

List invoices invoice totals. (POST /invoices/invoice_totals) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: should_clear_cache. Body keys seen: table_filter_start, table_filter_end, visit_stages, operation_id, client_id, sales_rep, deposit, invoice_type, invoice_status, invoice_age, invoice_tile_view, search. Returns JSON with keys: total, count. Read-only query sent as POST (filters go in body).

singleops_read_search_invoices_2B

Search invoices (server-side table query: paging, sorting, filters). (POST /invoices/invoices_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_list_item_groupsB

List item groups. (GET /item_groups) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_itemsC

List items. (GET /items) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_jobs_invoicesB

Search jobs invoices (server-side table query: paging, sorting, filters) for one id. (GET /jobs/{id}/invoices_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_jobsA

Search jobs (server-side table query: paging, sorting, filters). (POST /jobs/jobs_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: job_id. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_search_jobs_reportB

Search jobs report (server-side table query: paging, sorting, filters). (POST /jobs/jobs_report_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_search_jobs_progress_billingC

Search jobs progress billing (server-side table query: paging, sorting, filters). (GET /jobs/progress_billing_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], all_stage_ids_dropdown, operation_id, client_id, assignee_id, sales_rep_id, from_date, to_date, date_filter_on, search_custom_input_id, search_custom_input_term, include_tag_ids, exclude_tag_ids, tags_any, manual_progress_type, milestone_progress_type, items, item_groups, include_recurring, include_one_offs, include_proposal_groups, include_on_hold, include_off_hold, include_unlimited_job, include_pickups, include_deliveries, requires_deposit, deposit_paid, unpaid_deposit, flyout, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_search_jobs_visits_reportA

Search jobs visits report (server-side table query: paging, sorting, filters). (POST /jobs/visits_report_datatable) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_search_labor_resourcesB

Search labor resources (server-side table query: paging, sorting, filters). (GET /labor_resources/data_table) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_public_accounts_feature_flagsB

List public accounts feature flags. (GET /public/api/v1/accounts/feature_flags) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: twilio_compliance.

singleops_read_list_public_brand_detailsA

List public brand details for one id. (GET /public/api/v1/brands/{id}/details) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: address, customer_contact_email, email, logo, name, phone, website_display, website_url.

singleops_read_list_public_client_public_invoicesB

List public client public invoices for one id. (GET /public/api/v1/clients/{id}/public_invoices) Inferred from the SingleOps web app's own traffic; confirm results. Returns the endpoint's JSON response.

singleops_read_list_purchase_ordersC

List purchase orders. (GET /purchase_orders) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operation_id, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_archived_jobs_reportC

Get archived jobs report. (GET /reports/archived_jobs_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_batch_renew_jobs_reportC

Get batch renew jobs report. (GET /reports/batch_renew_jobs) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, sales_reps, operation_ids, include_contracts, stage_ids[], tag_ids, tags_any, include_on_hold, show_only_eligible_for_renewal, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_client_labor_reportB

Get client labor report. (GET /reports/client_labor) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_custom_inputs_reportC

Get custom inputs report. (GET /reports/custom_inputs_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, custom_input_id, sales_rep_ids, operation_id, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_customer_history_reportC

Get customer history report. (GET /reports/customer_history) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], select_years[], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_customer_type_reportC

Get customer type report. (GET /reports/customer_type_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operation_ids, sales_rep_ids, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_equipment_utilization_reportB

Get equipment utilization report. (GET /reports/equipment_utilization) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_global_planner_reportC

Get global planner report. (GET /reports/global_planner) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, client_select, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_inventory_transactions_reportA

Get inventory transactions report. (POST /reports/inventory_transactions) Inferred from the SingleOps web app's own traffic; confirm results. Rails form fields (pass as nested objects, e.g. {"client": {"first_name": "…"}}; send only what you set): start_date, end_date. Returns {ok, status, redirect, id} on success (the new/updated record id), or validation errors. Read-only query sent as POST (filters go in body).

singleops_read_get_item_groups_reportC

Get item groups report. (GET /reports/item_groups_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, visit_stages[], assignees, sales_reps, tags, date_applied_to, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_items_reportB

Get items report. (GET /reports/items_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, visit_stages[], assignees, sales_reps, tags, date_applied_to, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_job_expenses_reportB

Get job expenses report. (POST /reports/job_expenses) Inferred from the SingleOps web app's own traffic; confirm results. Rails form fields (pass as nested objects, e.g. {"client": {"first_name": "…"}}; send only what you set): start_date, end_date. Returns {ok, status, redirect, id} on success (the new/updated record id), or validation errors. Read-only query sent as POST (filters go in body).

singleops_read_get_job_labor_reportC

Get job labor report. (GET /reports/job_labor) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, sales_reps, operations, assignees, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_job_profit_margin_reportB

Get job profit margin report. (GET /reports/job_profit_margin) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], columns[15][data], columns[15][name], columns[15][searchable], columns[15][orderable], columns[15][search][value], columns[15][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, visit_stages[], visit_operations, visit_sales_reps, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_master_line_item_reportC

Get master line item report. (POST /reports/master_line_item) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_get_net_sales_reportC

Get net sales report. (GET /reports/net_sales) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operation_id, sales_rep_id, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_operation_performance_reportB

Get operation performance report. (GET /reports/operation_performance_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_payment_records_reportC

Get payment records report. (GET /reports/payment_records_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], columns[15][data], columns[15][name], columns[15][searchable], columns[15][orderable], columns[15][search][value], columns[15][search][regex], columns[16][data], columns[16][name], columns[16][searchable], columns[16][orderable], columns[16][search][value], columns[16][search][regex], columns[17][data], columns[17][name], columns[17][searchable], columns[17][orderable], columns[17][search][value], columns[17][search][regex], columns[18][data], columns[18][name], columns[18][searchable], columns[18][orderable], columns[18][search][value], columns[18][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operation_id, include_quickbooks, only_refunds, sales_rep_ids, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_payment_totals_reportA

Get payment totals report. (POST /reports/payment_totals_report) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_get_purchase_orders_reportC

Get purchase orders report. (GET /reports/purchase_orders) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operation_id, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_sales_rep_reportB

Get sales rep report. (GET /reports/sales_rep) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, operations, date_filter_column, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_timesheet_summary_reportC

Get timesheet summary report. (GET /reports/timesheet_summary_report) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, timesheet_statuses, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_timesheet_totals_reportB

Get timesheet totals report. (POST /reports/timesheet_totals_report) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_get_tree_inventory_reportB

Get tree inventory report. (POST /reports/tree_inventory_report) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_get_visit_profit_margin_reportC

Get visit profit margin report. (GET /reports/visit_profit_margin) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], columns[8][data], columns[8][name], columns[8][searchable], columns[8][orderable], columns[8][search][value], columns[8][search][regex], columns[9][data], columns[9][name], columns[9][searchable], columns[9][orderable], columns[9][search][value], columns[9][search][regex], columns[10][data], columns[10][name], columns[10][searchable], columns[10][orderable], columns[10][search][value], columns[10][search][regex], columns[11][data], columns[11][name], columns[11][searchable], columns[11][orderable], columns[11][search][value], columns[11][search][regex], columns[12][data], columns[12][name], columns[12][searchable], columns[12][orderable], columns[12][search][value], columns[12][search][regex], columns[13][data], columns[13][name], columns[13][searchable], columns[13][orderable], columns[13][search][value], columns[13][search][regex], columns[14][data], columns[14][name], columns[14][searchable], columns[14][orderable], columns[14][search][value], columns[14][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, visit_stages[], assignees, sales_reps, date_filter_column, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_tagsA

List all tags (id, name, html_color, tag_type). Use the id with update_tag / delete_tag. (GET /tags) Verified route. Returns JSON with keys: [].id, [].account_id, [].name, [].html_color, [].created_at, [].updated_at, [].tag_type, [].url.

singleops_read_get_taskB

Get task by id. (GET /tasks/{id}.json) Inferred from the SingleOps web app's own traffic; confirm results. Returns the endpoint's JSON response.

singleops_read_list_tasks_calendarC

List tasks calendar. (GET /tasks/calendar) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: client_id, tags_any, include_visits, include_tasks, exclude_recurring, exclude_one_offs, exclude_on_hold, exclude_off_hold, start, end, timezone. Returns JSON with keys: [].id, [].name, [].created_at, [].updated_at, [].start, [].all_day, [].status, [].className, [].resourceIds, [].salesResourceIds, [].allDay, [].resources_copy, [].stop, [].end, [].title, [].url, [].type, [].color, [].textColor, [].on_route, [].driver_name, [].stage_id, [].job_name.

singleops_read_search_tasksA

Search tasks (server-side table query: paging, sorting, filters). (POST /tasks/data_table/all) Inferred from the SingleOps web app's own traffic; confirm results. Body keys seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable]. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings. Read-only query sent as POST (filters go in body).

singleops_read_list_tasks_route_plannerC

List tasks route planner. (GET /tasks/route_planner) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: start, end, timezone. Returns the endpoint's JSON response.

singleops_read_list_text_messages_reportC

List text messages report. (GET /text_messages/report.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_timesheet_events_listC

List timesheet events list. (GET /timesheet_events/list.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: timesheet[date], timesheet[user_id], draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized, include_errors. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_timesheets_listC

List timesheets list. (GET /timesheets/list.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: timesheet[date], draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_users_crewsB

List users crews. (GET /users/crews.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: addUnassignedUser. Returns JSON with keys: [].id, [].account_id, [].name, [].email, [].manager_user_id, [].rate, [].first_name, [].last_name, [].custom_fid, [].vendor_id, [].is_sales_rep, [].office, [].mobile, [].route_capacity, [].color, [].color_priority, [].role_id, [].html_color, [].text_color, [].title.

singleops_read_list_vendorsB

List vendors. (GET /vendors) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_get_visitA

Get visit by id. (GET /visits/{id}.json) Inferred from the SingleOps web app's own traffic; confirm results. Returns JSON with keys: id, account_id, job_id, location_id, all_day, start, created_at, updated_at, is_archived, stop, name, visit_stage_id, account_reference_number, qb_list_id, cogs_cost, expenses_cost, actual_total_gross_margin, actual_total_gross_margin_percentage, approved_at, total_price, total_cost, auto_scheduled, last_recalced_at, map_cache, invoice_id, token, exclude_from_ref_num, estimated_workers, exclude_from_calendar, proposal_accepted_by, proposal_accepted_at, custom_invoice_date, is_template_visit, rejected_automatically, accepted_by_ip_address, is_pickup, route_num, lead_converted_at, lead_converted_by_id, initial_visit_stage_id.

singleops_read_search_visits_approvedC

Search visits approved (server-side table query: paging, sorting, filters). (GET /visits/approved/data_table) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], columns[7][data], columns[7][name], columns[7][searchable], columns[7][orderable], columns[7][search][value], columns[7][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], table_filter_start, table_filter_end, report_range_cache, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_visits_awaiting_scheduling_statsB

List visits awaiting scheduling stats. (GET /visits/awaiting_scheduling_stats) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: include_visits, include_tasks, exclude_on_hold, month, year. Returns JSON with keys: unscheduled_count, unscheduled_tbd_month_count.

singleops_read_list_visits_index_fullcalendar_eventsC

List visits index fullcalendar events. (GET /visits/index_fullcalendar_events.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: visit_stage_id, client_id, tags_any, include_visits, include_tasks, exclude_recurring, exclude_one_offs, exclude_on_hold, exclude_off_hold, start, end, timezone. Returns JSON with keys: [].id, [].name, [].created_at, [].updated_at, [].visit_stage, [].job_id, [].location, [].account_reference_number, [].exclude_from_calendar, [].all_day, [].estimated_labor, [].custom_input_values, [].className, [].resourceIds, [].salesResourceIds, [].allDay, [].resources_copy, [].start, [].stop, [].end, [].title, [].is_recurring, [].on_route, [].driver_name, [].variable_recurrence, [].url, [].type, [].color, [].textColor, [].stage_id, [].total, [].can_update_recurrence_info_from_calendar, [].pending_calculation, [].fixed_invoice, [].on_hold.

singleops_read_list_visits_index_fullcalendar_holiday_eventsC

List visits index fullcalendar holiday events. (GET /visits/index_fullcalendar_holiday_events.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: client_id, tags_any, include_visits, include_tasks, exclude_recurring, exclude_one_offs, exclude_on_hold, exclude_off_hold, start, end, timezone. Returns the endpoint's JSON response.

singleops_read_list_visits_index_route_planner_eventsC

List visits index route planner events. (GET /visits/index_route_planner_events.json) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: visit_stage_id, start, end, timezone. Returns the endpoint's JSON response.

singleops_read_list_visits_route_planner_dataC

List visits route planner data. (GET /visits/route_planner_data) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: draw, columns[0][data], columns[0][name], columns[0][searchable], columns[0][orderable], columns[0][search][value], columns[0][search][regex], columns[1][data], columns[1][name], columns[1][searchable], columns[1][orderable], columns[1][search][value], columns[1][search][regex], columns[2][data], columns[2][name], columns[2][searchable], columns[2][orderable], columns[2][search][value], columns[2][search][regex], columns[3][data], columns[3][name], columns[3][searchable], columns[3][orderable], columns[3][search][value], columns[3][search][regex], columns[4][data], columns[4][name], columns[4][searchable], columns[4][orderable], columns[4][search][value], columns[4][search][regex], columns[5][data], columns[5][name], columns[5][searchable], columns[5][orderable], columns[5][search][value], columns[5][search][regex], columns[6][data], columns[6][name], columns[6][searchable], columns[6][orderable], columns[6][search][value], columns[6][search][regex], order[0][column], order[0][dir], start, length, search[value], search[regex], include_tasks, include_visits, end, colReorder[], settings_initialized. Returns JSON with keys: draw, recordsTotal, recordsFiltered, data, meta, table_id, settings.

singleops_read_list_visits_user_routesC

List visits user routes. (GET /visits/user_routes) Inferred from the SingleOps web app's own traffic; confirm results. Query params seen: start, end. Returns the endpoint's JSON response.

singleops_discover_toolsA

List every tool grouped by domain (clients, jobs, visits, reports…), filterable by domain and read/write, with enabled/disabled state. Returns JSON: {totalTools, domains: {: {tools: [{name, kind, enabled, description}]}}}.

singleops_read_whoamiA

Connection status: session presence/expiry and auth scheme (no secret values), gates, write budget, and a live probe of one GET route.

singleops_call_routeC

Call any mapped route by tool name or route id. Free-form URLs are not accepted; the target's gates and dry-run apply.

singleops_read_contract_testA

Replay parameter-free GET routes and diff response keys against the map, to detect SingleOps changing its internal API. Returns {probed, passed, failed, results[]}.

singleops_read_get_qbo_statusA

Report the QuickBooks Online connection settings. Check before any bulk write: writes sync to QuickBooks.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 87 tools

Disambiguation2/5

Many tools overlap heavily: search_invoices, search_invoices_2, and search_invoices_archived_invoices target near-identical invoice table queries, and list_operations vs read_lead_list_operations both hit /api/v1/operations. There are also multiple parallel fullcalendar/timesheet list tools whose boundaries are unclear, plus a generic call_route that can reach anything, making tool selection ambiguous.

Naming Consistency3/5

The singleops_read_<verb>_<resource> pattern is broadly applied, but verbs mix list_/get_/search_ for essentially the same operation and some names are awkward duplicates (list_timesheet_events_list, list_timesheets_list, search_invoices_2). It is readable but not reliably predictable.

Tool Count1/5

87 tools is far beyond a well-scoped surface; many are mechanical one-per-endpoint dumps of the web app's internal traffic. This volume invites selection errors and could be collapsed via call_route or grouping.

Completeness2/5

The surface is almost entirely read-only listing/reporting; there are no create/update/delete tools for clients, jobs, visits, invoices, or tasks, so an agent cannot perform lifecycle operations without the generic call_route escape hatch. Read coverage is broad, but the actionable surface is thin.

Maintenance

ActivityMaintained
ResponsivenessNo issues