Your first request
Your first request proves three things at once: the API is enabled for your company, your credentials work, and your code sends the token correctly. You sign in, then ask the API which user the token stands for.
You need the email address and password of an active Replyco user of your company, and the API enabled by Replyco support (see Authentication).
How it works
Section titled “How it works”1. Sign in
Section titled “1. Sign in”curl -X POST https://open-api.replyco.com/openapi/auth/token \ -H "Content-Type: application/json" \ -d '{"grantType": "password", "email": "integration@example.com", "password": "<your-password>"}'{ "accessToken": "<access-token>", "refreshToken": "<refresh-token>", "expiresIn": "2026-10-24T09:15:00Z"}Keep accessToken for the next call, for example in an environment variable:
export ACCESS_TOKEN="<access-token>"2. Ask who you are
Section titled “2. Ask who you are”GET /openapi/user/me returns the user the token stands for:
curl https://open-api.replyco.com/openapi/user/me \ -H "Authorization: Bearer $ACCESS_TOKEN"{ "id": "3f1c2a9e-7b4d-4e1a-9c2f-5d8e6a7b9c01", "firstName": "Robin", "lastName": "Integration", "fullName": "Robin Integration", "email": "integration@example.com", "companyId": "8a2d4f6b-1c3e-4a5b-8d7f-9e0a1b2c3d4e"}companyId is the company whose data every call with this token reads and changes. If it is not the company you
expected, you signed in as the wrong user.
Conventions you will meet
Section titled “Conventions you will meet”| Topic | How the API does it |
|---|---|
| Format | JSON in and out. Send Content-Type: application/json with every body. |
| Names | Properties are in camelCase, as in the API reference. |
| Ids | UUIDs. A path or query id that is not a valid UUID is refused with 400. |
| Dates | ISO 8601 date and time, for example 2026-10-24T09:15:00Z. |
| Fixed lists | Values from a fixed list, such as a marketplace or a status, are numbers. The reference shows each as <number> - <name>, for example 20 - CustomIntegration: send and expect the number, 20. |
What can go wrong
Section titled “What can go wrong”| Step | Status | Meaning | What to do |
|---|---|---|---|
| 1 | 400 | Wrong email address or password, a user who is not active, or a missing grantType. |
Check the credentials and the body. |
| 1 | 429 | More than 3 sign-ins a minute from your IP address. | Wait a minute; keep and reuse the token instead of signing in again. |
| 2 | 401 | The token is missing, wrong or expired. | Check the Authorization: Bearer header; sign in again if the token is older than 72 hours. |
Related
Section titled “Related”- Authentication: token lifetimes and refreshing.
- Errors: the error body and every status.
- Answer tickets from your own system: a first real task.