Skip to main content
This guide covers best practices, common patterns, and important considerations when integrating with the Taptalent Partner API.

Supported Integration Patterns

One-Way Ingestion

Create jobs in TapTalent from your internal systems:
  • Sync job postings from your ATS or HRIS
  • Automatically create jobs when positions open
  • Keep job data synchronized

Event-Driven Orchestration

Configure webhooks to trigger actions in your system:
  • Receive notifications when jobs are created or updated
  • Trigger workflows based on job status changes
  • Keep systems in sync without polling

Error Handling

Always implement robust error handling in your integration. The TapTalent API uses a structured error format:

Error Response Structure

All errors follow this format:

Common Error Codes

  • INVALID_REQUEST: Validation error - check details for field-specific errors
  • ACCOUNT_INACTIVE: Subscription is inactive - renew subscription
  • FORBIDDEN: Insufficient permissions
  • INTERNAL_ERROR: Server error - contact support

Data Ownership & Source of Truth

  • TapTalent as Source of Truth: Create jobs in TapTalent and sync to your systems
  • Your System as Source of Truth: Create jobs in your system and sync to TapTalent
  • Bi-directional Sync: Keep both systems in sync (requires careful conflict resolution)

Conflict Resolution

When syncing data between systems:
  • Use timestamps to determine the most recent update
  • Implement idempotency keys to prevent duplicate operations
  • Handle conflicts gracefully with clear resolution strategies

High-Volume Considerations

Batch Operations

For candidate resume uploads, use the bulk upload endpoint:
  • Upload up to 5,000 resumes per batch
  • Receive webhook notifications when processing starts/completes
  • Retrieve parsed candidates using pagination
  • Process batches asynchronously and handle webhook events

Throughput Optimization

  • Make requests in parallel when possible
  • Implement connection pooling
  • Cache frequently accessed data
  • Use webhooks instead of polling

Rate Limiting

Rate limits are applied at the company level. To avoid hitting limits:
  • Implement exponential backoff for retries
  • Monitor your API usage
  • Distribute requests over time for high-volume operations

Observability & Monitoring

Log all API interactions with appropriate detail:

Tracking Failed API Calls

Implement comprehensive error tracking:
  • Log all failed requests with error details
  • Track error rates and patterns
  • Set up alerts for unusual error rates
  • Monitor API key status and subscription status

Metrics to Track

  • API call success rate
  • Average response time
  • Error rate by error code
  • API key usage and status
  • Webhook delivery success rate (when available)

Common Pitfalls

Duplicate Job Creation

Problem: Creating the same job multiple times Solution:
  • Implement idempotency checks
  • Use unique identifiers from your system
  • Check if job exists before creating

Status Desynchronization

Problem: Job status differs between systems Solution:
  • Use webhooks to receive status updates (when available)
  • Implement periodic sync jobs
  • Track last sync timestamp

Improper Error Retries

Problem: Retrying non-retryable errors Solution:
  • Only retry 5xx errors and rate limit errors (429)
  • Don’t retry 4xx errors (except 429)
  • Implement exponential backoff
  • Set maximum retry limits

API Key Management Issues

Problem: Using wrong API key or inactive keys Solution:
  • Use environment variables for API keys
  • Implement key rotation procedures
  • Monitor API key status
  • Have fallback keys for critical operations

Security Best Practices

API Key Storage

  • Never commit API keys to version control
  • Use environment variables or secure secret management
  • Rotate keys regularly
  • Use different keys for different environments

Webhook Security

  • Always use HTTPS for webhook endpoints
  • Verify webhook signatures (when available)
  • Implement idempotency checks
  • Rate limit webhook endpoints

Request Validation

  • Validate all input data before sending to API
  • Sanitize sensitive data in logs
  • Implement request timeouts
  • Use connection pooling

Performance Tips

  1. Use Appropriate Request Sizes: Balance between too many requests and too much data per request
  2. Implement Caching: Cache job data that doesn’t change frequently
  3. Use Webhooks: Prefer webhooks over polling when available
  4. Parallel Requests: Make independent requests in parallel when appropriate
  5. Connection Reuse: Reuse HTTP connections when possible

Testing

Test Environment

Use the sandbox environment for development and testing:
  • Sandbox Base URL: https://sandbox.partner-api.taptalent.io/v1/partner
  • Use test API keys (prefixed with sk_test_) with the sandbox environment
  • Test all integration flows
  • Verify error handling
  • Test edge cases and validation

Mock Data

Use mock data for local development to avoid unnecessary API calls:

Support

If you encounter issues or have questions:
  1. Check the API Reference for endpoint details
  2. Review error messages and status codes
  3. Check Integration Notes for common issues
  4. Contact support with:
    • API endpoint you’re calling
    • Request/response details (sanitize sensitive data)
    • Error messages or logs
    • Steps to reproduce

Versioning

The API is versioned. Always specify the version in your requests:
Breaking changes will be introduced in new versions with advance notice.

Next Steps