Integration Use Case
Hipcall API Key and Your First Request
Create, store and revoke a Hipcall API key, then verify the correct endpoint and token format by measuring 401 and 200 responses with curl.
Part A: Discovery (findings on the DEMO environment)
1. Menu path and URLs
- Sign in:
https://use.hipcall.com.tr/ - Main menu path: Settings > Developer (
https://use.hipcall.com.tr/portal/settings/?section=developer) - API tab: Settings > Developer > API (
https://use.hipcall.com.tr/portal/settings/developer/api-tokens/) - Creating a key: the “New” button (
https://use.hipcall.com.tr/portal/settings/developer/api-tokens/new/)
2. Required and optional fields
- Creating an API key asks for a “Name” and an “Expiry date”.
- There are no optional fields; both are required. You cannot continue with either one left empty.
- Expiry rule: the system assigns a 1-year validity by default. You can pick up to a maximum of 3 years. If you try to pick a date further out than 3 years, the system silently pulls it back to 1 year.
3. Visibility after saving
- Once the key is created, the screen shows the key itself, an “OK” button, and this warning:
“Please store this secret key somewhere safe and accessible. For security reasons you won’t be able to view it again through your Hipcall account. If you lose this secret key, you’ll need to generate a new one.”
- After that page is closed, the full API key can never be displayed again. The list screen shows a masked version instead of the full string.
4. Deleting a key
- Path: Settings > Developer > API > [Token name] > Delete
- When you start the deletion, the system shows this warning:
“This API secret key will be deleted immediately. API requests made using this key will be rejected, which could cause any systems still depending on it to break. Once revoked, you’ll no longer be able to view or modify this API key.”
- The screen shows the key’s name, its last 4 characters, and “Delete” / “Cancel” buttons. Once confirmed, the key is revoked instantly.
5. Permission restrictions
- Users with the “Admin” and “Owner” roles have full access to the “Settings > Developer” menu and the API settings.
- Users with the “Standard” and “Supervisor” roles have no access to this menu; it is not rendered on their screen at all.
Part B: Verification (with curl, by measuring)
B1. Find the right address
The addresses listed in the reference were tested:
Attempt 1 (api.hipcall.com):
curl -sS -i https://api.hipcall.com/api/v3/profile
Output:
curl: (6) Could not resolve host: api.hipcall.com
Attempt 2 (use.hipcall.com):
curl -sS -i https://use.hipcall.com/api/v3/profile
Output:
401 Unauthorized (region/server mismatch).
Correct address: for DEMO accounts located in Türkiye, the endpoint was found to be https://use.hipcall.com.tr/api/v3/profile.
B2. Request without a key
curl -sS -i https://use.hipcall.com.tr/api/v3/profile
Output summary:
- HTTP status code: 401 Unauthorized
- Response body:
{"errors":{"detail":"Authentication required. Provide either OAuth Bearer token or API token."}}
B3. Request with a malformed key
curl -sS -i -H "Authorization: Bearer bu-anahtar-sahte" https://use.hipcall.com.tr/api/v3/profile
Output summary:
- HTTP status code: 401 Unauthorized
- Response body (different from B2):
{"errors":{"detail":"Not authorized. Check your API token is valid and not expired."}}
B4. Request with a valid key
curl -sS -i -H "Authorization: Bearer $HIPCALL_API_TOKEN" https://use.hipcall.com.tr/api/v3/profile
Output summary:
- HTTP status code: 200 OK
- Returned fields: under the
dataobject:user,permissions,capabilities,account,rolesandsubscription.
Full response body (masked):
{"data":{"user":{"id":4200,"owner":true,"suspended":false,"state":"available","title":null,"email":"ornek@firma.com","locale":"tr_TR","timezone":"Europe/Istanbul","created_at":"2026-07-21T10:55:30","full_name":"Ahmet Y.","numbers":[{"id":939,"name":"Alt yönetici","number":"+90850XXXXXXX","country":"TR"},{"id":938,"name":"Üst yönetici","number":"+90850XXXXXXX","country":"TR"}],"default_number":{"id":938,"name":"Üst yönetici","number":"+90850XXXXXXX","country":"TR"},"first_name":"Ahmet","last_logged_in":"2026-09-15T13:10:07","last_name":"Y.","phone_countries":["AR","AU","BR","CA","CN","FR","DE","IN","ID","IT","JP","MX","RU","SA","ZA","TR","GB","US","KR"],"phone_prefix":"TR","avatar_url":null},"permissions":[],"capabilities":{"cdr":{"label_feature":true,"note_feature":true},"features":{"api":true,"ticket":true,"webhook":true,"deal":true,"automation":true,"smartbcc":true},"contact_center":{"label_feature":true,"note_feature":true}},"account":{"id":1412,"name":"Demo","status":"active","options":{"auto_available_on_login":false,"auto_away_on_logout":false},"locale":"tr_TR","timezone":"Europe/Istanbul","created_at":"2026-07-21T10:55:30","contact_center":{"b2b":true},"limits":{"max_channel":5},"slug":null},"roles":[],"subscription":{"id":1189,"starts_at":"2026-07-21T23:59:59","canceled_at":null,"ends_at":"2027-07-21T23:59:59","limit_cdr_call_history_mounth_count":3,"limit_phone_number_count":5,"limit_phone_simultaneous_call_count":30,"limit_user_count":50,"trial_ends_at":"2026-07-21T23:59:59","plan_name":null}}}
B5. The format of the key
- When the key copied from the screen is added to the request as-is, the API returns
200 OKand works without issue. - When the
SFMyNTY.prefix is manually prepended to the copied key, the API still returns200 OK. - Conclusion: the system accepts both formats (with and without the prefix) as valid.
B6. Response headers
A successful request returns rate limit information in its headers:
x-ratelimit-limit: 60(60 requests per minute are allowed).x-ratelimit-remaining: 59(requests left).x-ratelimit-reset: 1789490696(timestamp at which the limit resets).
Findings
- Endpoint mismatch: the
api.hipcall.comanduse.hipcall.comaddresses listed in the official API reference are not valid for accounts in Türkiye (DEMO). The correct root address isuse.hipcall.com.tr. - Flexible key format: there is no single correct way to use the key taken from the dashboard. Both the raw key and the key with
SFMyNTY.prepended are accepted as authorized.
Flow of the first successful request
sequenceDiagram
participant D as Developer
participant P as Hipcall Dashboard
participant A as Hipcall API (use.hipcall.com.tr)
D->>P: Go to Settings > Developer > API
D->>P: Create a new key
P-->>D: Key is shown on screen (once only)
Note over D,P: Once the page is closed the key can never be read in full again
D->>A: GET /api/v3/profile (Header: Authorization: Bearer $HIPCALL_API_TOKEN)
A-->>D: 200 OK + profile data (JSON) + x-ratelimit headers Ask the Community
Have questions or want to share your integration? Join the discussion.
Tools & APIs
Six ways to extend and integrate Hipcall into your systems.
REST API
Access your Hipcall data programmatically. Manage extensions, initiate calls, retrieve call records, and more via a RESTful HTTP API with OAuth 2.0 and API key authentication.
Webhooks
Receive real-time HTTP notifications for 13+ event types — incoming calls, answered calls, hangups, voicemails, and more. Push call data into any system instantly.
Web Service-Based Smart IVRs
Route incoming calls dynamically using your own business logic. Hipcall calls your web service at ring time and routes the call based on your JSON response.
Quick Call
Trigger outbound calls programmatically. Initiate a call from an agent's extension to any number via a single API request — great for click-to-call integrations.
External Management
Manage your Hipcall account from external systems. Provision users, update call flows, and control settings without logging into the dashboard.
Insight Card
Display real-time caller context on the agent's screen the moment a call connects. Push any data — name, company, account balance — from your CRM or ERP via API.