Create connection
POST/unified/connection
Used only to import existing customer credentials. To connect a new account, use the "Authorize or re-authorize a connection" auth URL instead. To change credentials on an existing connection, use "Update connection".
Payload
A connection represents a specific authentication of an integration.
idstring read-only
Unique identifier for this integration object
created_atdate-time read-only
The date that this integration object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atdate-time read-only
The last date that this integration object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
workspace_idstring read-only
(reference to KmsSpace)
integration_typestring required
The integration type
integration_namestring
external_xrefstring
customer's user ID
permissions enum array required
categories enum array required
The Integration categories that this connection supports
authobject
An authentication object that represents a specific authorized user's connection to an integration.
is_pausedboolean read-only
Whether this integration has exceed the monthly limit of the plan
environmentstring
last_healthy_atdate-time read-only
(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
last_unhealthy_atdate-time read-only
(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
last_unhealthy_codestring
The HTTP status code that caused the last unhealthy status
secretsmanager_idstring
the ID of the SecretsManager object
secretsmanager_keystring
the key/path/name of the secret within the vault
Returns
| Response field | Type | Required | Description |
|---|---|---|---|
id | string | No | Unique identifier for this integration object (read-only) |
created_at | string (date-time) | No | The date that this integration object was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only) |
updated_at | string (date-time) | No | The last date that this integration object was updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only) |
workspace_id | string | No | (reference to KmsSpace) (read-only) |
integration_type | string | Yes | The integration type |
integration_name | string | No | |
external_xref | string | No | customer's user ID |
permissions | enum | Yes | Values: accounting_account_read, accounting_account_write, accounting_transaction_read, accounting_transaction_write, accounting_journal_read, accounting_journal_write, accounting_invoice_read, accounting_invoice_write, accounting_bill_read, accounting_bill_write, accounting_vendorcredit_read, accounting_vendorcredit_write, accounting_creditmemo_read, accounting_creditmemo_write, accounting_contact_read, accounting_contact_write, accounting_expense_read, accounting_expense_write, accounting_expensereport_read, accounting_expensereport_write, accounting_purchasereceipt_read, accounting_purchasereceipt_write, accounting_taxrate_read, accounting_taxrate_write, accounting_paymentterm_read, accounting_paymentterm_write, accounting_organization_read, accounting_order_read, accounting_order_write, accounting_purchaseorder_read, accounting_purchaseorder_write, accounting_salesorder_read, accounting_salesorder_write, accounting_salesreceipt_read, accounting_salesreceipt_write, accounting_trialbalance_read, accounting_trialbalance_write, accounting_profitloss_read, accounting_profitloss_write, accounting_balancesheet_read, accounting_balancesheet_write, accounting_category_read, accounting_category_write, payment_payment_read, payment_payment_write, accounting_cashflow_read, accounting_cashflow_write, accounting_quote_read, accounting_quote_write, accounting_agedreceivable_read, accounting_agedpayable_read, accounting_project_read, accounting_project_write, accounting_bankfeedaccount_read, accounting_bankfeedaccount_write, accounting_bankfeedtransaction_read, accounting_bankfeedtransaction_write, payment_payout_read, payment_refund_read, payment_link_read, payment_link_write, payment_subscription_read, payment_subscription_write, commerce_item_read, commerce_item_write, commerce_collection_read, commerce_collection_write, commerce_inventory_read, commerce_inventory_write, commerce_location_read, commerce_location_write, commerce_review_read, commerce_review_write, commerce_saleschannel_read, commerce_saleschannel_write, commerce_itemvariant_read, commerce_itemvariant_write, commerce_reservation_read, commerce_reservation_write, commerce_availability_read, commerce_availability_write, verification_package_read, verification_request_read, verification_request_write, assessment_package_read, assessment_package_write, assessment_order_write, ats_activity_read, ats_activity_write, ats_application_read, ats_application_write, ats_applicationstatus_read, ats_candidate_read, ats_candidate_write, ats_interview_read, ats_interview_write, ats_job_read, ats_job_write, ats_company_read, ats_company_write, ats_document_read, ats_document_write, ats_scorecard_read, ats_scorecard_write, crm_company_read, crm_company_write, crm_contact_read, crm_contact_write, crm_deal_read, crm_deal_write, crm_event_read, crm_event_write, crm_lead_read, crm_lead_write, crm_pipeline_read, crm_pipeline_write, crm_taxonomy_read, martech_list_read, martech_list_write, martech_member_read, martech_member_write, martech_campaign_read, martech_campaign_write, martech_report_read, martech_report_write, ticketing_customer_read, ticketing_customer_write, ticketing_ticket_read, ticketing_ticket_write, ticketing_note_read, ticketing_note_write, ticketing_category_read, ticketing_category_write, hris_employee_read, hris_employee_write, hris_group_read, hris_group_write, hris_payslip_read, hris_payslip_write, hris_timeoff_read, hris_timeoff_write, hris_timeshift_read, hris_timeshift_write, hris_attendance_read, hris_attendance_write, hris_company_read, hris_company_write, hris_location_read, hris_location_write, hris_device_read, hris_device_write, hris_deduction_read, hris_deduction_write, hris_benefit_read, hris_benefit_write, hris_bankaccount_read, hris_bankaccount_write, hris_document_read, hris_document_write, hris_taxonomy_read, hris_taxonomy_write, hris_job_read, hris_job_write, hris_payroll_read, hris_payroll_write, hris_paycode_read, hris_paycode_write, hris_earning_read, hris_earning_write, uc_call_read, uc_call_write, uc_contact_read, uc_contact_write, uc_comment_read, uc_comment_write, uc_recording_read, uc_scorecard_read, uc_scorecardtemplate_read, storage_file_read, storage_file_write, webhook, genai_model_read, genai_prompt_read, genai_prompt_write, genai_embedding_read, genai_embedding_write, genai_task_read, genai_task_write, genai_agent_read, genai_agent_write, genai_organization_read, genai_organization_write, genai_skill_read, genai_skill_write, genai_memory_read, genai_memory_write, messaging_message_read, messaging_message_write, messaging_channel_read, messaging_channel_write, messaging_event_read, messaging_event_write, kms_space_read, kms_space_write, kms_page_read, kms_page_write, kms_comment_read, kms_comment_write, task_project_read, task_project_write, task_task_read, task_task_write, task_change_read, task_comment_read, task_comment_write, scim_users_read, scim_users_write, scim_groups_read, scim_groups_write, lms_course_read, lms_course_write, lms_class_read, lms_class_write, lms_student_read, lms_student_write, lms_instructor_read, lms_instructor_write, lms_content_read, lms_content_write, lms_collection_read, lms_collection_write, lms_activity_read, lms_activity_write, repo_organization_read, repo_organization_write, repo_repository_read, repo_repository_write, repo_branch_read, repo_branch_write, repo_commit_read, repo_commit_write, repo_pullrequest_read, repo_pullrequest_write, metadata_metadata_read, metadata_metadata_write, calendar_calendar_read, calendar_calendar_write, calendar_event_read, calendar_event_write, calendar_busy_read, calendar_link_read, calendar_link_write, calendar_recording_read, calendar_recording_write, calendar_webinar_read, calendar_webinar_write, enrich_person_read, enrich_company_read, ads_ad_read, ads_ad_write, ads_campaign_read, ads_campaign_write, ads_group_read, ads_group_write, ads_report_read, ads_organization_read, ads_organization_write, ads_creative_read, ads_creative_write, ads_asset_read, ads_asset_write, ads_insertionorder_read, ads_insertionorder_write, ads_target_read, ads_promoted_read, analytics_property_read, analytics_property_write, analytics_event_read, analytics_event_write, analytics_session_read, analytics_visitor_read, analytics_visitor_write, analytics_report_read, forms_form_read, forms_form_write, forms_submission_read, forms_submission_write, shipping_shipment_read, shipping_shipment_write, shipping_label_read, shipping_label_write, shipping_tracking_read, shipping_rate_read, shipping_rate_write, shipping_carrier_read, signing_document_read, signing_document_write, signing_signatory_read, signing_signatory_write, signing_template_read, signing_template_write, clubs_group_read, clubs_group_write, clubs_member_read, clubs_member_write, clubs_activity_read, clubs_activity_write, clubs_location_read, clubs_location_write, clubs_event_read, clubs_event_write, datastore_database_read, datastore_database_write, datastore_table_read, datastore_table_write, datastore_record_read, datastore_record_write, datastore_query_read, datastore_query_write, cdp_profile_read, cdp_profile_write, cdp_segment_read, cdp_segment_write, cdp_event_read, cdp_event_write, cdp_source_read, cdp_source_write, cdp_destination_read, cdp_destination_write, cdp_activation_read, cdp_activation_write, performance_cycle_read, performance_review_read, performance_review_write, performance_goal_read, performance_goal_write, performance_feedback_read, performance_feedback_write, social_post_read, social_post_write, social_profile_read, social_profile_write, social_review_read, social_review_write, social_insight_read, social_insight_write, legal_matter_read, legal_matter_write, legal_practicearea_read, legal_practicearea_write, legal_timeentry_read, legal_timeentry_write, legal_expense_read, legal_expense_write, compute_instance_read, compute_instance_write, compute_template_read, compute_template_write, compute_gputype_read, compute_region_read, compute_volume_read, compute_volume_write, compute_snapshot_read, compute_snapshot_write, compute_usage_read, compute_key_read, compute_key_write, compute_service_read, compute_service_write, compute_deployment_read, compute_deployment_write, compute_domain_read, compute_domain_write, compute_envvar_read, compute_envvar_write, healthcare_patient_read, healthcare_patient_write, healthcare_practitioner_read, healthcare_practitioner_write, healthcare_location_read, healthcare_location_write, healthcare_appointment_read, healthcare_appointment_write, healthcare_slot_read, healthcare_slot_write, healthcare_encounter_read, healthcare_encounter_write, healthcare_condition_read, healthcare_condition_write, healthcare_allergy_read, healthcare_allergy_write, healthcare_medication_read, healthcare_medication_write, healthcare_observation_read, healthcare_observation_write, healthcare_immunization_read, healthcare_immunization_write |
categories | enum | Yes | The Integration categories that this connection supports Values: passthrough, hris, ats, auth, saml, crm, enrich, martech, ticketing, uc, accounting, storage, commerce, payment, genai, messaging, kms, task, scim, lms, repo, metadata, calendar, verification, ads, analytics, forms, shipping, assessment, signing, clubs, datastore, cdp, performance, social, legal, compute, healthcare |
auth | object | No | An authentication object that represents a specific authorized user's connection to an integration. |
auth.token | string | No | |
auth.access_token | string | No | |
auth.refresh_token | string | No | |
auth.expiry_date | string (date-time) | No | |
auth.expires_in | number | No | |
auth.emails | string[] | No | |
auth.name | string | No | |
auth.user_id | string | No | (reference to HrisEmployee) |
auth.app_id | string | No | |
auth.client_id | string | No | |
auth.client_secret | string | No | |
auth.consumer_key | string | No | |
auth.consumer_secret | string | No | |
auth.state | string | No | |
auth.other_auth_info | string[] | No | When integration.auth_type = "other", this field contains the authentication credentials in the same order as token_names |
auth.api_url | string | No | |
auth.authorize_url | string | No | |
auth.token_url | string | No | |
auth.refresh_url | string | No | |
auth.pem | string | No | the PEM X.509 certificate in Base64 ASCII format |
auth.key | string | No | the private KEY X.509 certificate in Base64 ASCII format |
auth.refresh_token_expires_in | number | No | |
auth.refresh_token_expires_date | string (date-time) | No | |
auth.dev_api_key | string | No | |
auth.audience | string | No | |
is_paused | boolean | No | Whether this integration has exceed the monthly limit of the plan (read-only) |
environment | string | No | |
last_healthy_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only) |
last_unhealthy_at | string (date-time) | No | (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format) (read-only) |
last_unhealthy_code | string | No | The HTTP status code that caused the last unhealthy status |
secretsmanager_id | string | No | the ID of the SecretsManager object |
secretsmanager_key | string | No | the key/path/name of the secret within the vault |
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"
}| Status | Error | Meaning |
|---|---|---|
400 | Bad Request | The request was malformed or failed validation. |
401 | Unauthorized | The connection is likely broken; re-authorize it. |
403 | Forbidden | The connection is missing permissions or scopes. |
404 | Not Found | The requested resource does not exist. |
429 | Too Many Requests | Rate limit exceeded (see the two sources below). |
500 | Internal Server Error | An unexpected error occurred. |
501 | Not Implemented | Not 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: 'POST',
url: 'https://api.unified.to/unified/connection',
headers: {
authorization: 'bearer .....'
},
data: undefined,
};
const results = await axios.request(options); Are we missing anything? Let us know