Retrieve webhook by its ID

GET/unified/webhook/{id}

Parameters

idstring required
ID of the Webhook

Returns

Response fieldTypeRequiredDescription
idstringNo (read-only)
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only)
workspace_idstringNo(reference to KmsSpace) (read-only)
connection_idstringYes
hook_urlstringNoThe URL of the webhook
object_typeenumYesThe object to return (eg. CRM "contact") Values: accounting_account, accounting_transaction, accounting_journal, accounting_contact, accounting_invoice, accounting_bill, accounting_vendorcredit, accounting_creditmemo, accounting_taxrate, accounting_paymentterm, accounting_organization, accounting_order, accounting_salesorder, accounting_salesreceipt, accounting_purchaseorder, accounting_balancesheet, accounting_profitloss, accounting_trialbalance, accounting_category, accounting_expense, accounting_expensereport, accounting_purchasereceipt, accounting_cashflow, accounting_quote, accounting_agedreceivable, accounting_agedpayable, accounting_project, accounting_bankfeedaccount, accounting_bankfeedtransaction, payment_payment, payment_link, payment_payout, payment_refund, payment_subscription, commerce_item, commerce_collection, commerce_inventory, commerce_location, commerce_review, commerce_saleschannel, commerce_itemvariant, commerce_reservation, commerce_availability, verification_package, verification_request, assessment_package, assessment_order, ats_activity, ats_application, ats_applicationstatus, ats_candidate, ats_document, ats_interview, ats_job, ats_scorecard, ats_company, crm_company, crm_contact, crm_deal, crm_event, crm_lead, crm_pipeline, crm_taxonomy, hris_employee, hris_group, hris_payslip, hris_timeoff, hris_company, hris_location, hris_device, hris_timeshift, hris_attendance, hris_deduction, hris_benefit, hris_bankaccount, hris_document, hris_taxonomy, hris_job, hris_payroll, hris_paycode, hris_earning, martech_list, martech_member, martech_campaign, martech_report, passthrough, ticketing_note, ticketing_ticket, ticketing_customer, ticketing_category, uc_contact, uc_call, uc_comment, uc_recording, uc_scorecard, uc_scorecardtemplate, enrich_person, enrich_company, storage_file, genai_model, genai_prompt, genai_embedding, genai_task, genai_agent, genai_organization, genai_skill, messaging_message, messaging_channel, messaging_event, kms_space, kms_page, kms_comment, task_project, task_task, task_comment, task_change, scim_users, scim_groups, lms_course, lms_class, lms_student, lms_instructor, lms_content, lms_collection, lms_activity, repo_organization, repo_repository, repo_branch, repo_commit, repo_pullrequest, metadata_metadata, calendar_calendar, calendar_event, calendar_busy, calendar_link, calendar_recording, calendar_webinar, ads_organization, ads_ad, ads_campaign, ads_report, ads_group, ads_creative, ads_asset, ads_insertionorder, ads_target, ads_promoted, analytics_property, analytics_event, analytics_session, analytics_visitor, analytics_report, forms_form, forms_submission, shipping_carrier, shipping_rate, shipping_shipment, shipping_label, shipping_tracking, signing_document, signing_signatory, signing_template, clubs_group, clubs_member, clubs_activity, clubs_location, clubs_event, datastore_database, datastore_table, datastore_record, datastore_query, cdp_profile, cdp_segment, cdp_event, cdp_source, cdp_destination, cdp_activation, performance_cycle, performance_review, performance_goal, performance_feedback, social_post, social_profile, social_review, social_insight, legal_matter, legal_practicearea, legal_timeentry, legal_expense, compute_instance, compute_template, compute_gputype, compute_region, compute_volume, compute_snapshot, compute_usage, compute_key, compute_service, compute_deployment, compute_domain, compute_envvar, healthcare_patient, healthcare_practitioner, healthcare_location, healthcare_appointment, healthcare_slot, healthcare_encounter, healthcare_condition, healthcare_allergy, healthcare_medication, healthcare_observation, healthcare_immunization
intervalnumberNoVirtual webhooks only. How often (in minutes) Unified.to checks for new or updated records. Minimum 1 on paid plans, 60 on free. Ignored for native webhooks.
checked_atstring (date-time)NoRead-only. The time Unified.to last recorded a check on this webhook. Behaviour varies by webhook implementation, so don't use this field to tell whether a webhook is still running. Use is_healthy, and subscribe to WEBHOOK_UNHEALTHY on the notifications webhook, to monitor health. (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only)
integration_typestringNo (read-only)
environmentstringNo (read-only)
eventenumYesThe event to subscribe to. "deleted" is supported on native webhooks, and on virtual webhooks where the integration supports it. Check the integration's Feature Support tab. Values: updated, created, deleted
runsstring[]NoAn array of the most recent virtual webhook runs (read-only)
fieldsstringNo
webhook_typeenumNo"native" registers with the integration, which sends events as they happen. "virtual" checks for changes on "interval". Optional on create; if omitted, Unified.to picks a supported type for the object. Requesting a type the integration doesn't support returns 400. Set on create only: changes sent on update are ignored without an error. Delete and recreate the webhook to change type. Values: virtual, native
is_healthybooleanNoRead-only. True while the webhook can operate or recover; a transient failure may still be retrying. False after retries are exhausted or a non-retryable failure such as broken connection auth. Cannot be reset; recreate the webhook. (read-only)
page_max_limitnumberNo
filtersmap (string dictionary)NoSupported on virtual webhooks, and on native webhooks for many integrations. Check the integration's Feature Support tab for which filters apply. Filters the integration doesn't support are accepted but have no effect. Some integrations require a filter; if it's missing, create returns an error naming the integration and the filter.
db_typeenumNoValues: mongodb, mysql, postgres, mssql, mariadb, supabase, snowflake
db_urlstringNo
db_schemastringNo
db_name_prefixstringNo
is_pausedbooleanNo

Errors

Errors return the HTTP status code and a JSON body with statusCode, error (the short label) and message (a human-readable detail).

{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Too many requests to unified.to API; max requests per minute: N"
}
StatusErrorMeaning
400Bad RequestThe request was malformed or failed validation.
401UnauthorizedThe connection is likely broken; re-authorize it.
403ForbiddenThe connection is missing permissions or scopes.
404Not FoundThe requested resource does not exist.
429Too Many RequestsRate limit exceeded (see the two sources below).
500Internal Server ErrorAn unexpected error occurred.
501Not ImplementedNot supported by this integration.

Errors from the underlying integration pass through: the integration's status comes back as ours (429, 401, 403, 404 or 5xx), usually with its message. When the integration's error body is unclear, Unified extracts what it can and returns a clearer message.

429 Too Many Requests

A 429 has two possible sources:

  • The integration's own rate limit, passed through.
  • Unified's workspace limit: a rolling 60 seconds, set by plan, with the message Too many requests to unified.to API; max requests per minute: N.
const options = {
  method: 'GET',
  url: 'https://api.unified.to/unified/webhook/5de520f96e439b002043d8d8',
  headers: {
    authorization: 'bearer .....'
  },

};

const results = await axios.request(options);
Are we missing anything? Let us know
Was this page helpful?