Work with iCIMS to provision an integration user account and obtain a client_id and client_secret for OAuth 2.0 Client Credentials Grant; store the client_secret in an environment variable.
POST to the iCIMS OAuth 2.0 token endpoint with grant_type=client_credentials, client_id, and client_secret to obtain an access_token; include the token as a Bearer in the Authorization header for all subsequent API calls.
To search for jobs, POST a searchJson filter body to https://api.icims.com/customers/{customerId}/search/jobs; include at least one filter (e.g., job.jobpost.isposted=true) as the Search API rejects filterless queries.
The Search API returns up to 1,000 system IDs per page sorted ascending by ID; paginate by appending a filter on job.id with operator > set to the last returned ID and repeating until fewer than 1,000 results are returned.
Fetch full job details for each system ID via GET /customers/{customerId}/jobs/{systemId}; use the staleness parameter on search requests to balance freshness against cache performance.
Known gotchas
iCIMS supports both OAuth 2.0 and HMAC authentication; OAuth 2.0 Client Credentials is the recommended method for server-to-server integrations per current docs.
The Search API is optimized for background sync, not real-time queries; for near-real-time data use staleness=0, but this bypasses the cache and may be slower.
Search results return only system IDs, not full records; each ID requires a separate GET request for detail, so bulk syncs can be rate-limit-sensitive — check current concurrency limits in the developer community FAQ.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp