API:Followup:Updated
Contents
API » Get Follow-Ups Updated
Base URL
Endpoint
/api/followup/updated/
Purpose
Retrieves follow-up activities that were updated within a specified date range. Supports pagination and optional filtering by sales representative and completion status. Typically used to sync follow-up changes into external systems.
HTTP Method
GET
Headers
No required headers.
| Header | Required | Description |
|---|---|---|
| — | — | No headers are required for this endpoint. Authentication is provided via query parameters. |
Security
- Yes – Requires a valid API key and secret with permission to read follow-ups.
Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | Yes | Public API key assigned to your CallProof account. |
| secret | string | Yes | Private API secret paired with the API key. |
| after | datetime string | Yes | Return only follow-ups updated on or after this date/time. Invalid or missing values cause a validation error. |
| before | datetime string | No | Return only follow-ups updated on or before this date/time. If omitted, no upper date limit is applied. |
| offset | integer | No | Starting position for paginated results. Defaults to 0 if omitted or invalid.
|
| user_id | integer | No | Filter follow-ups for a specific sales representative user ID. If omitted or invalid, results are limited to users the authenticated API user is allowed to access. |
| completed | integer | No | Completion filter. Use 1 for completed follow-ups, -1 for incomplete follow-ups. Defaults to 0, which does not filter by completion status.
|
Path Parameters
None.
Request Body
None.
cURL Example
curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01"
Example with filters:
curl -X GET "https://app.callproof.com/api/followup/updated/?key=YOUR_API_KEY&secret=YOUR_API_SECRET&after=2024-01-01&completed=1&user_id=456"
Successful Response (200)
Returns a paginated list of follow-ups updated within the requested date range. Up to 100 follow-ups are returned per request. If more matching follow-ups exist, more is set to 1 so the caller can request the next page using offset.
| Field | Type | Description |
|---|---|---|
| results | array | List of follow-up objects (maximum 100 per response). |
| results[].id | integer | Unique identifier for the follow-up. |
| results[].rep | object | Sales representative associated with the follow-up. |
| results[].rep.id | integer | Rep profile identifier. |
| results[].rep.email | string | Rep email address. |
| results[].rep.user_id | integer | Associated user account identifier. |
| results[].rep.name | string | Rep display name. |
| results[].rep.title | string | Rep job title. |
| results[].rep.updated | string | Date and time the rep profile was last updated. |
| results[].contact_id | integer | Associated contact identifier. |
| results[].contact | string | Contact display name. |
| results[].start_date | string | Follow-up start date/time (YYYY-MM-DD HH:MM:SS).
|
| results[].duration | number | Follow-up duration in minutes. |
| results[].completed | string | 1 if completed; otherwise 0.
|
| results[].notes | string | Follow-up notes. |
| results[].created | string | Date and time the follow-up was created (YYYY-MM-DD HH:MM:SS).
|
| results[].updated | string | Date and time the follow-up was last updated (YYYY-MM-DD HH:MM:SS).
|
| more | integer | 1 if additional matching follow-ups remain; 0 if this is the last page.
|
| offset | integer | Offset value used for this request. |
| errors | array | Empty list when the request succeeds. |
| code | integer | HTTP-style status value; 200 on success.
|
Example response:
{
"results": [
{
"id": 7001,
"rep": {
"id": 123,
"email": "rep@example.com",
"user_id": 456,
"name": "Jane Smith",
"title": "Account Executive",
"updated": "2024-06-01 10:00:00"
},
"contact_id": 789,
"contact": "John Doe",
"start_date": "2024-06-20 10:00:00",
"duration": 30.0,
"completed": "0",
"notes": "Call to discuss proposal",
"created": "2024-06-15 14:30:00",
"updated": "2024-06-15 14:30:00"
}
],
"more": 0,
"offset": 0,
"errors": [],
"code": 200
}
Notes
- Despite the route name, this endpoint retrieves follow-ups; it does not update them.
- This endpoint uses GET, even though some route listings may describe it as POST.
- Results are filtered by the follow-up’s last-updated timestamp.
afteris required and must be a valid date/time.- Results are limited to sales representatives the authenticated API user is allowed to access.
- Use
completed=1for completed follow-ups andcompleted=-1for incomplete follow-ups. - Results are ordered by newest follow-up ID first.
- Up to 100 records are returned per page. Use
offsetwithmoreto page through larger result sets. - Duration is returned in minutes.
Error Responses
| Status Code | Meaning |
|---|---|
| 400 | Bad Request – The required after parameter is missing or cannot be interpreted as a valid date/time.
|
| 401 | Unauthorized – The API key and/or secret is missing, invalid, inactive, associated with a disabled account, or lacks permission to read follow-ups. |
| 405 | Method Not Allowed – A method other than GET was used. |
| 500 | Internal Server Error – An unexpected server problem occurred. Not specified in Swagger. |
400 response body example:
{
"results": [],
"errors": ["Invalid 'after' field"],
"code": 400
}
401 response body example:
{
"results": [],
"errors": ["Invalid API Key"],
"code": 401
}
405 response body example:
{
"results": [],
"errors": ["Method not allowed"],
"code": 405
}