Getting started
Recommended reading
Section titled “Recommended reading”The RE-ZIP API follows the principles of Representational State Transfer (REST): clients create, view, modify, and delete resources using standard HTTP methods. If any of the underlying concepts are unfamiliar, these references are a good starting point:
- Hypertext Transfer Protocol (HTTP)
- List of HTTP headers
- Basic authentication
- Token authentication (Bearer)
- List of HTTP status codes
- Representational State Transfer (REST)
- JSON
Versioning
Section titled “Versioning”Over time, new features are added and old ones are removed. To avoid breaking
integrations, the API keeps multiple versions available at once. You select a
version per request with the Accept-Version header, shown in the examples
below.
Backward compatibility is limited: at any time, only the two newest versions are available, plus an optional beta/preview version. For example:
Accept-Version: 3.0b: Public beta/preview versionAccept-Version: 2.0: Latest versionAccept-Version: 1.0: Deprecated version
The current production version is 2.0.
If we deprecate functionality and our metrics show that no one still relies on the deprecated behaviour, we may remove it without a version bump. This is why it’s important to subscribe to our RSS feed.
Security and access
Section titled “Security and access”Any and all communication with the API is end-to-end encrypted using TLS version 1.2 or newer.
To interact with our API you will need to create a user. A user account is a personal account that can be connected to one or more business accounts. To connect and gain access to a business account requires an invitation from that account. Please ask the account owner for an invitation.
Authentication is done by using the HTTP Authorization header; Basic
authentication (username + password) and Token authentication (Bearer token).
The Basic authentication method is limited to the API for user accounts (/me).
To use the APIs for business accounts you will need to create an access token.
Personal access tokens also exist, intended for automated systems. These can
(and probably should) be scoped to the specific permissions the automation
needs, and given an expiry. When using a personal access token (PAT), use Pat
instead of Bearer or Basic in the Authorization header.
Example request
Section titled “Example request”$ curl -s -H 'Accept-Version: 2.0' -X POST -u user@domain.tld https://api.sandbox.re-zip.com/me/access-tokenEnter host password for user 'user@domain.tld':M5e6aiWrMzMMivbb9WJlYEuWSmW/nQRn/TfcBjwFyhlexcKK2u1QFQfWX8YS4OU5
$ curl -s -H 'Accept-Version: 2.0' -H 'Authorization: Bearer M5e6aiWrMzMMivbb9WJlYEuWSmW/nQRn/TfcBjwFyhlexcKK2u1QFQfWX8YS4OU5' https://api.sandbox.re-zip.com/ping | pp.json{ "message": "pong", "user": { "name": "User Name", "email": "user@domain.tld", "created_at": "2023-08-25 08:08:54 +0000" }, "remote_addr": "XXX.YYY.ZZZ.WWW"}
$ curl -s -H 'Accept-Version: 2.0' -X POST -d '{"name": "shopify_api_key", "expires_at": "2022-05-14T10:16:28.856Z", "acl_permissions": [{"resource": "/path/to/:id", "get": true, "put": true, "post": true, "patch": true, "delete": true}]}' -H 'Authorization: Bearer M5e6aiWrMzMMivbb9WJlYEuWSmW/nQRn/TfcBjwFyhlexcKK2u1QFQfWX8YS4OU5' https://api.sandbox.re-zip.com/partner/01JAYSCS07SVDQANFS61TF0XJN/agreement/01JAYSDB1037Y6X8WSJ1EZQ03X/personal_access_token | pp.json{ "id": "01G2TG95NVC0111J5RV1797BPG", "name": "shopify_api_key", "user_agreement_id": "01G2TG95NVC0111J5RV1797BPG", "last_used": "2022-05-14T10:16:28.856Z", "created_at": "2022-05-14T10:16:28.856Z", "refreshed_at": "2022-05-14T10:16:28.856Z", "expires_at": "2022-05-14T10:16:28.856Z", "acl_permissions": [ { "resource": "/path/to/:id", "get": true, "put": true, "post": true, "patch": true, "delete": true } ], "token": "RZ01.01JAYS5NWSWJHJQ6186WTW75GX.01JAYS7WDR8YR5QR0ES657488K"}
$ curl -s -H 'Accept-Version: 2.0' -H 'Authorization: Pat RZ01.01JAYS5NWSWJHJQ6186WTW75GX.01JAYS7WDR8YR5QR0ES657488K' https://api.sandbox.re-zip.com/ping | pp.json{ "message": "pong", "user": { "name": "User Name", "email": "user@domain.tld", "created_at": "2023-08-25 08:08:54 +0000" }, "remote_addr": "XXX.YYY.ZZZ.WWW"}Getting in touch
Section titled “Getting in touch”If you’re integrating with us and have questions, email us at helpdesk@re-zip.com. We can also set up a shared Slack channel if that’s easier for your team.
RSS feed
Section titled “RSS feed”If you run a RE-ZIP integration in production, subscribe to our RSS feed at https://api-docs.re-zip.com/rss.xml. It’s how we announce deprecations of specific endpoints.