Skip to main content
Welcome to the Marty API documentation. The Marty API lets you connect Marty with your existing tools and systems. You can use the API to access data, automate HR workflows, build custom integrations, and connect Marty with other applications. Marty is a modern HR platform that helps companies manage their people from the early stages through growth. It brings core HR processes, assessments, automation, and workforce insights into one platform. This documentation includes API references, examples, authentication details, and code samples to help you get started and build integrations with Marty.

Getting started

The root URL for the Marty API is: https://api.marty.hr All data is sent and received as JSON over HTTPS, using UTF-8 encoding. Unencrypted HTTP is not supported. All API requests must be authenticated using an API key. API keys are created directly in the Marty application, and you can choose the scopes for each key. This lets you give an integration access only to the data and actions it needs. Keep your API keys secure and never share them publicly.

API stability and versioning

The Marty API does not currently use versioning. We aim to keep the API stable and backward compatible. We will not rename or remove existing fields without careful consideration. We may add new fields and functionality over time, so your integration should be able to handle additional fields in API responses. If we need to deprecate or remove an endpoint or feature, we will make reasonable efforts to minimize the impact on existing integrations. If API versioning is introduced in the future, we will design it to preserve compatibility with existing integrations.

Rate limiting

The Marty API allows 60 requests per 60-second interval per client. If the rate limit is reached, additional requests will be rejected until the current rate-limit window resets. Rate-limit information is returned in the following response headers:
  • x-ratelimit-limit — The maximum number of requests allowed within the current rate-limit window.
  • x-ratelimit-remaining — The number of requests remaining in the current rate-limit window.
  • x-ratelimit-reset — The number of seconds until the rate-limit window resets.
Avoiding rate limits To stay within the rate limit:
  • Combine requests. Retrieve multiple records using list endpoints instead of requesting records individually.
  • Use pagination efficiently. Retrieve an appropriate number of records per page to reduce the total number of API calls.
  • Filter requests. Request only the records you need when filtering is supported.
  • Avoid unnecessary polling. Do not repeatedly request resources when their data is unlikely to have changed.
  • Respect x-ratelimit-reset. If you receive a 429 Too Many Requests response, wait for the number of seconds specified by x-ratelimit-reset before retrying.
Example:
In this example, wait 30 seconds before sending another request.