Lists actions for a contact with pagination and filtering.

Usage Examples

Initial request (first page):

GET /api/v1/network/contacts/123/actions?page_size=50

Next page (using cursor from previous response):

GET /api/v1/network/contacts/123/actions?cursor=eyJ0IjoiMjAyNS0xMC0wMVQxMDowMDowMFoiLCJpIjo0NTZ9&page_size=50

Filter to only audit operations:

GET /api/v1/network/contacts/123/actions?type=audit

Response Format

{
  "data": [
    {
      "id": "456",
      "type": "audit",
      "timestampUtc": "2025-10-02T14:30:00Z",
      "user": {
        "id": "user-123",
        "name": "John Doe"
      },
      "details": {
        "operation": "ContactUpdated",
        "changedFields": ["email", "phone"],
        "oauthClientId": "salesforce-integration"
      },
      "cursor": "eyJ0IjoiMjAyNS0xMC0wMlQxNDozMDowMFoiLCJpIjo0NTZ9"
    },
    {
      "id": "455",
      "type": "note",
      "timestampUtc": "2025-10-01T09:15:00Z",
      "user": {
        "id": "user-456",
        "name": "Jane Smith"
      },
      "details": {
        "message": "Follow-up call scheduled for next week",
        "file": null
      },
      "cursor": "eyJ0IjoiMjAyNS0xMC0wMVQwOToxNTowMFoiLCJpIjo0NTV9"
    }
  ],
  "page": {
    "nextCursor": "eyJ0IjoiMjAyNS0wOS0zMFQxNjowMDowMFoiLCJpIjozOTB9",
    "hasMore": true,
    "pageSize": 50
  }
}

Best Practices

  1. Use cursor pagination: More efficient and stable than offset-based
  2. Set appropriate page_size: Balance between API calls and response size
  3. Filter when possible: Reduces bandwidth and processing
  4. Cache responses: Action logs are immutable, safe to cache
Path Parameters
  • id
    Type: string
    required

    Contact ID

Query Parameters
  • cursor
    Type: string

    Pagination cursor from previous response

  • page_size
    Type: string Pattern: ^-?(?:0|[1-9]\d*)$Format: int32
  • type
    Type: string

    Filter by action type: all (default), audit, notes

Responses
  • application/json
  • application/problem+json
  • application/problem+json
  • application/problem+json
  • application/problem+json
Request Example for get/api/v1/network/contacts/{id}/actions
curl 'https://app.propstreet.com/api/v1/network/contacts/{id}/actions?cursor=&page_size=100&type=all' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": [
    {
      "id": "string",
      "type": "string",
      "source": null,
      "event": null,
      "importId": "string",
      "timestampUtc": "2026-05-05T17:18:39.880Z",
      "user": {
        "id": "string",
        "name": "string"
      },
      "details": null,
      "cursor": "string"
    }
  ],
  "page": {
    "nextCursor": null,
    "pageSize": "string",
    "hasMore": true
  }
}