{"id":43009998,"url":"https://github.com/merge-api/merge-sdk-python","last_synced_at":"2026-01-31T05:08:58.671Z","repository":{"id":58153662,"uuid":"528155983","full_name":"merge-api/merge-sdk-python","owner":"merge-api","description":"The Python SDK for accessing various Merge Unified APIs ","archived":false,"fork":false,"pushed_at":"2023-10-26T16:14:22.000Z","size":3401,"stargazers_count":0,"open_issues_count":13,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2023-10-27T16:29:28.110Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/merge-api.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-08-23T20:41:23.000Z","updated_at":"2022-08-25T17:17:51.000Z","dependencies_parsed_at":"2023-02-16T21:31:38.375Z","dependency_job_id":"4151e96f-2367-438f-bddc-c05b06fc2035","html_url":"https://github.com/merge-api/merge-sdk-python","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/merge-api/merge-sdk-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merge-api%2Fmerge-sdk-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merge-api%2Fmerge-sdk-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merge-api%2Fmerge-sdk-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merge-api%2Fmerge-sdk-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/merge-api","download_url":"https://codeload.github.com/merge-api/merge-sdk-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merge-api%2Fmerge-sdk-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28929866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T04:05:25.756Z","status":"ssl_error","status_checked_at":"2026-01-31T04:02:35.005Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-31T05:08:57.959Z","updated_at":"2026-01-31T05:08:58.659Z","avatar_url":"https://github.com/merge-api.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Deprecation Notice\n\nMerge has released a new version of our [Python SDK](https://github.com/merge-api/merge-python-client/). As part of that release, we are providing a deprecation notice of our legacy SDKs.\n\nTo help give you time to plan your migration to our latest SDK:\n\n- August 2023: SDK deprecation notice on our legacy Python SDKs.\n- Until February 2024: we’ll support updates as needed and address bugs in priority order\n- After February 2024: we’ll no longer make updates or bug fixes to the deprecated SDKs\n\nFor information about the deprecation notice see our [help center](https://help.merge.dev/en/collections/4258952-sdks) and for information about migrating to the Python SDK, see the [Python Migration Guide](https://help.merge.dev/en/articles/8229265-advanced-python-sdk-migration-guide).\n\n# Merge-SDK-Python\n\nThe Python SDK for accessing various Merge Unified APIs. We use the following dependencies:\n\n* urllib3 for http communication\n* pytest for tests\n* NO logging, aside from some `print` in tests\n\n## Build\n\nYou can find the latest published pypi package [here](https://pypi.org/project/MergePythonSDK/)\n\n## Usage\n\nFor all examples, you can refer to the [BasicTest class](/test/basic_test.py) in this\nrepository.\n\n### Plain call\n\n```python\nfrom MergePythonSDK.accounting.api.invoices_api import InvoicesApi\nfrom MergePythonSDK.shared import Configuration, ApiClient\n\n# Swap YOUR_API_KEY below with your production key from:\n# https://app.merge.dev/configuration/keys\nconfiguration = Configuration()\nconfiguration.access_token = \"YOUR_API_KEY\"\nconfiguration.api_key_prefix['tokenAuth'] = 'Bearer'\n# Swap YOUR-X-ACCOUNT-TOKEN below with your production key from:\n# https://app.merge.dev/linked-accounts/account/{ACCOUNT_ID}/overview\nconfiguration.api_key['accountTokenAuth'] = 'YOUR-X-ACCOUNT-TOKEN'\n\nwith ApiClient(configuration) as api_client:\n    accounting_invoices_api_instance = InvoicesApi(api_client)\n    api_response = accounting_invoices_api_instance.invoices_list()\n```\n\n### Remote Fields\n\nMerge attempts to map as many enum values as possible from integrations into a single normalized set of enum values.\nHowever, there will always be edge cases where the default mapping does not suit our callers. In order to get the raw\nvalue, you can pass in the name of the enum parameter into the remoteFields request property:\n\n```python\nfrom MergePythonSDK.hris.api.employees_api import EmployeesApi\nfrom MergePythonSDK.shared import Configuration, ApiClient\n\n# Swap YOUR_API_KEY below with your production key from:\n# https://app.merge.dev/configuration/keys\nconfiguration = Configuration()\nconfiguration.access_token = \"YOUR_API_KEY\"\nconfiguration.api_key_prefix['tokenAuth'] = 'Bearer'\n# Swap YOUR-X-ACCOUNT-TOKEN below with your production key from:\n# https://app.merge.dev/linked-accounts/account/{ACCOUNT_ID}/overview\nconfiguration.api_key['accountTokenAuth'] = 'YOUR-X-ACCOUNT-TOKEN'\n\nwith ApiClient(configuration) as api_client:\n    hris_employees_api_instance = EmployeesApi(api_client)\n    _id = \"EMPLOYEE ID HERE\"\n    employee_remote_field = hris_employees_api_instance.employees_retrieve(\n        _id, remote_fields=\"gender\")\n```\n\n### Expand\n\nThe expand parameter can be used during GET requests to fetch the related objects in your response body.\nFor example, if you sent a request for GET /employees, you can use the expand parameter on Teams. This \nwill fetch the associated Team data for each given employee. The Employee objects will be returned with\nthe corresponding Teams objects instead of the default List\u003cUUID\u003e. In the below example, we expand the \nemployments property of HRIS Employee.\n\n```python\nfrom MergePythonSDK.shared import Configuration, ApiClient\nfrom MergePythonSDK.hris.api.employees_api import EmployeesApi\n\nconfiguration = Configuration()\nconfiguration.access_token = \"YOUR_API_KEY_HERE\"\nconfiguration.api_key_prefix['tokenAuth'] = 'Bearer'\nconfiguration.api_key['accountTokenAuth'] = 'YOUR_X_ACCOUNT_TOKEN_HERE'\nwith ApiClient(configuration) as api_client:\n    hris_employees_api_instance = EmployeesApi(api_client)\n    try:\n        # Test expands\n        _id = \"YOUR_EMPLOYEE_ID_HERE\"\n        employee_expands = hris_employees_api_instance.employees_retrieve(\n          _id, expand=\"employments\"\n        )\n        assert employee_expands.employments.employee == employee_expands.id\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerge-api%2Fmerge-sdk-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerge-api%2Fmerge-sdk-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerge-api%2Fmerge-sdk-python/lists"}