Public API
Integrate your applications with Corcava using our RESTful Public API. Build custom integrations, automate workflows, and connect Corcava with your existing tools and systems.
Overview
The Corcava Public API provides programmatic access to your core business data including projects, tasks, boards, clients, contacts, and tickets. Use standard HTTP methods to create, read, update, and delete resources, enabling powerful automation and integration capabilities.
Getting Started
Generate Your API Key
- Navigate to Settings → Integrations
- Scroll to the Public API section
- Click Generate API Key
- Copy your API key immediately - it's only shown once for security
- Store it securely - you'll need it for all API requests
API Key Management
You can manage multiple API keys from the Integrations page:
- Create new keys - Generate additional keys for different applications or environments
- Activate/Deactivate - Toggle keys on or off without deleting them
- Delete keys - Permanently remove keys you no longer need
Best Practice: Create separate API keys for different applications or environments (development, staging, production) to better manage access and security.
Base URL
All API requests should be made to:
https://corcava.com/api/v1
For development/testing environments, use your specific domain:
https://your-domain.com/api/v1
Authentication
Include your API key in every request using the Authorization header:
Authorization: Bearer YOUR_API_KEY_HERE
Example Request:
curl -X GET "https://corcava.com/api/v1/projects" \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Accept: application/json"
Available Endpoints
The Public API provides full CRUD (Create, Read, Update, Delete) access to your core business resources including projects, tasks, boards, clients, contacts, and tickets. Each resource supports standard REST operations with filtering, searching, and pagination capabilities.
For complete endpoint documentation, request/response examples, and detailed parameter specifications, visit the interactive API documentation:
https://corcava.com/api/v1/docs
The interactive documentation provides:
- Complete list of all available endpoints
- Detailed request and response examples
- Parameter descriptions and validation rules
- Authentication requirements
- Ability to test API calls directly from your browser
Request Format
Headers
All requests should include:
Authorization: Bearer YOUR_API_KEY- Required for authenticationAccept: application/json- Specifies JSON response formatContent-Type: application/json- Required for POST/PUT requests with body
Query Parameters
Most list endpoints support filtering, searching, and pagination:
search- Search by name or other searchable fieldsper_page- Number of results per page (default: 30, max: 100)page- Page number for paginationsort- Column to sort by (e.g.,name,created_at)direction- Sort direction:ascordesc
Example: GET /api/v1/projects?search=onboarding&per_page=50&sort=created_at&direction=desc
Response Format
Successful responses return JSON with the following structure:
{
"data": [
{
"id": 1,
"name": "Project Name",
...
}
],
"links": {
"first": "...",
"last": "...",
"prev": null,
"next": "..."
},
"meta": {
"current_page": 1,
"per_page": 30,
"total": 100
}
}
Error responses include details about what went wrong:
{
"message": "Validation error",
"errors": {
"field_name": ["Error message 1", "Error message 2"]
}
}
Common Use Cases
Automate Project Creation
Create projects automatically when new clients are added to your CRM:
curl -X POST "https://corcava.com/api/v1/projects" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Onboarding Project",
"client_id": 5,
"user_id": 12,
"billable": true
}'
Sync Tasks from External Tools
Import tasks from project management tools or create tasks based on external events:
curl -X POST "https://corcava.com/api/v1/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Review design mockups",
"board_id": 3,
"user_id": 8
}'
Build Custom Dashboards
Fetch data to build custom reporting dashboards or integrate with business intelligence tools:
curl -X GET "https://corcava.com/api/v1/projects?per_page=100" \
-H "Authorization: Bearer YOUR_API_KEY"
Webhook Integration
Use the API to sync data when webhooks are triggered from external systems, keeping your Corcava data up-to-date automatically.
Rate Limits
API requests are subject to rate limiting to ensure fair usage and system stability. If you exceed the rate limit, you'll receive a 429 Too Many Requests response.
Best Practice: Implement exponential backoff and retry logic in your integration to handle rate limits gracefully.
Error Handling
The API uses standard HTTP status codes:
200 OK- Request successful201 Created- Resource created successfully400 Bad Request- Invalid request parameters401 Unauthorized- Invalid or missing API key403 Forbidden- API key doesn't have permission404 Not Found- Resource doesn't exist422 Unprocessable Entity- Validation errors429 Too Many Requests- Rate limit exceeded500 Internal Server Error- Server error
Always check the response status code and handle errors appropriately in your integration.
Team Isolation
All API requests are automatically scoped to your team. You can only access resources (projects, tasks, clients, etc.) that belong to your team. This ensures data security and prevents cross-team data access.
Security Best Practices
- Store API keys securely - Never commit API keys to version control or expose them in client-side code
- Use environment variables - Store keys in environment variables or secure configuration files
- Rotate keys regularly - Generate new keys periodically and revoke old ones
- Use separate keys per application - Don't reuse the same key across multiple integrations
- Monitor key usage - Regularly review which keys are active and delete unused ones
- Use HTTPS only - Always make API requests over HTTPS, never HTTP
Support
Need help with the API? Check out the interactive documentation at /api/v1/docs or reach out to our support team. We're here to help you build powerful integrations that streamline your workflow.