Name
Ping
Confirms your API key is valid and shows what the API knows about the caller.
HTTP method and path
/ api/ v6/ utilities/ pinghttps:
What happens when you run it
- Read only: it does not change your organization’s data.
- The call is not charged.
What it does
Returns the caller state: it confirms the API key is valid and shows the key facts the API knows about the requester.
Use it as a smoke test after configuring your credentials. A 200 means your integration is ready to call the rest of the endpoints.
- That the key is valid (
pong:).true - The API version that served the call.
- The public IP the call originates from.
Your organization details do not travel in this response: you can read them at /.
Availability and prerequisites
- Published and available in the production API v6.
- Every path starts at
https:./ / developers. hablame. co - You need a Hablame API key to call it.
Authentication and permissions
- Send your API key in the
Authorizationheader with the Bearer scheme.
Who can call it: Any valid API key.
Limits and operational notes
Usage limit: 20 requests per minute.
Path parameters
This endpoint has no path parameters.
Query parameters
This endpoint has no query parameters.
HTTP headers
| Name | Type | Description and rules |
|---|---|---|
AuthorizationRequired | string | Your API key with the Bearer scheme. Example: |
Request body
This endpoint takes no request body.
Successful responses
200
The key is valid.
{
"success": true,
"data": {
"pong": true,
"apiVersion": "v6",
"client": { "ip": "203.0.113.45" }
},
"meta": {
"requestId": "b9b1704baffab211",
"clientIp": "203.0.113.45",
"timestamp": "2026-06-04T19:43:59+00:00",
"responseTimeMs": 4.24
}
}The example values are illustrative.
Response fields
| Name | Type | Description and rules |
|---|---|---|
successAlways present | boolean | |
dataAlways present | object | |
data.Always present | boolean | Always Fixed value: |
data.Always present | string | API version that served the request. Fixed value: |
data.Always present | object | Caller facts the API observes. |
data.Always present | string | Public IP the call originated from. Example: |
metaAlways present | object | Response metadata. |
meta.Always present | string | Unique request identifier (16 hexadecimal characters). It matches the Example: |
meta.Always present | string | IP the API saw your request come from. Useful if your API key only accepts certain networks. Example: |
meta.Always present | string | Date and time the response was built (ISO 8601 with offset). Format: |
meta.Always present | number | Time (ms) the server took to process the request. Example: |
Error codes
Every error response has the same shape: success set to false and an error object whose code says what happened. They are grouped here by kind, with the codes this endpoint can return.
Shape of an error response
| Name | Type | Description and rules |
|---|---|---|
successAlways present | boolean | Fixed value: |
metaAlways present | object | Response metadata. |
meta.Always present | string | Unique request identifier (16 hexadecimal characters). It matches the Example: |
meta.Always present | string | IP the API saw your request come from. Useful if your API key only accepts certain networks. Example: |
meta.Always present | string | Date and time the response was built (ISO 8601 with offset). Format: |
meta.Always present | number | Time (ms) the server took to process the request. Example: |
errorAlways present | object | |
error.Always present | string | Stable UPPER_SNAKE_CASE identifier. Clients branch on this value. Example: |
error. | integer | Legacy v5 numeric code, only when a bridge exists. Omitted for codes born in v6. Example: |
error.Always present | string | URL to the error documentation. Format: |
error.Always present | string | Human readable text, in English. It is for the developer log, not the end user: do not parse it. |
error.Always present | array<object> | Structured context (validation issues, affected resource). Empty array when there is no extra context. |
Validation
This endpoint does not declare responses of this kind.
Authentication
- 401Invalid or missing credentials. The
error.tells you the specific reason.code
No Bearer token was sent, and every call requires one.
Message the API returns: Authentication is required. Send your API key as `Authorization: Bearer <token>`.
The API key is not recognized: wrong format, revoked or expired.
Message the API returns: The provided API key is invalid or has expired. Please verify the value sent in the `Authorization: Bearer` header.
Permissions
- 403Credentials are valid, but the organization cannot run the request, or the key cannot be used from your network (
meta.says which IP we saw).clientIp
The key only works from certain networks and your IP is not one of them.
Message the API returns: This API key cannot be used from this IP address. The address we saw is in `meta.clientIp`: call from one of the networks allowed for the key, or use a key that allows this one.
Your organization is suspended or closed.
Message the API returns: The organization associated with this API key is not active. Please contact support.
Usage limits
- 429Request limit exceeded. Wait the time reported in
Retry-After.
Unusually high volume from your source IP.
Message the API returns: Too many requests from this IP within a short window. Please wait before retrying.
You exceeded your organization quota for this endpoint.
Message the API returns: You have exceeded the allowed request rate for this endpoint. Please wait before retrying.
Resource not found
This endpoint does not declare responses of this kind.
Internal errors and availability
- 503We could not verify your API key or your request limit right now. Retry in a few seconds.
Generic 503: a service we depend on is not responding.
Other responses
This endpoint does not declare responses of this kind.
Special considerations
This endpoint has no special considerations.