Integration Endpoints
API endpoints for managing third-party integrations.
Integration Managementβ
List Available Integration Typesβ
GET /api/integration-type
Authorization: Bearer {token}
List Active Integrationsβ
GET /api/integration?where[organizationId]={org-id}
Authorization: Bearer {token}
Response (200 OK):
{
"items": [
{
"id": "...",
"name": "GitHub",
"isActive": true,
"entitySettings": [...],
"organizationId": "...",
"integration": {
"name": "GitHub",
"imgSrc": "github.svg"
}
}
],
"total": 3
}
Create Integrationβ
POST /api/integration
Authorization: Bearer {token}
Content-Type: application/json
{
"name": "GitHub",
"integrationId": "github-type-uuid",
"organizationId": "org-uuid"
}
GitHub Integrationβ
Install GitHub Appβ
POST /api/integration/github/install
Authorization: Bearer {token}
Content-Type: application/json
{
"installation_id": "12345",
"organizationId": "org-uuid"
}
List GitHub Repositoriesβ
GET /api/integration/github/repositories?integrationId={integration-id}
Authorization: Bearer {token}
Sync GitHub Issuesβ
POST /api/integration/github/sync-issues
Authorization: Bearer {token}
Content-Type: application/json
{
"integrationId": "integration-uuid",
"repository": "owner/repo-name"
}
GitHub Webhookβ
POST /api/integration/github/webhook
X-GitHub-Event: {event-type}
X-Hub-Signature-256: {signature}
Upwork Integrationβ
Connect Upwork Accountβ
POST /api/integrations/upwork/token
Authorization: Bearer {token}
Content-Type: application/json
{
"accessToken": "upwork-access-token",
"accessTokenSecret": "upwork-token-secret",
"organizationId": "org-uuid"
}
Sync Upwork Work Diaryβ
POST /api/integrations/upwork/sync-contracts
Authorization: Bearer {token}
Content-Type: application/json
{
"integrationId": "integration-uuid",
"dateRange": {
"start": "2024-01-01",
"end": "2024-01-31"
}
}
HubStaff Integrationβ
Connect HubStaffβ
POST /api/integrations/hubstaff/token
Authorization: Bearer {token}
Content-Type: application/json
{
"accessToken": "hubstaff-access-token",
"refreshToken": "hubstaff-refresh-token",
"organizationId": "org-uuid"
}
Sync HubStaff Activitiesβ
POST /api/integrations/hubstaff/sync-activities
Authorization: Bearer {token}
Content-Type: application/json
{
"integrationId": "integration-uuid",
"dateRange": {
"start": "2024-01-01",
"end": "2024-01-31"
}
}
Activepieces Integrationβ
Setupβ
POST /api/integration/activepieces/setup
Authorization: Bearer {token}
Content-Type: application/json
{
"apiKey": "your-activepieces-api-key"
}
Create/Update Connectionβ
POST /api/integration/activepieces/connection
Authorization: Bearer {token}
Content-Type: application/json
{
"pieceName": "piece-name",
"displayName": "My Connection",
"type": "SECRET_TEXT",
"value": { "secret": "..." }
}
List Connectionsβ
GET /api/integration/activepieces/connections/{integrationId}
Authorization: Bearer {token}
Get Connectionβ
GET /api/integration/activepieces/connection/{integrationId}
Authorization: Bearer {token}
Delete Connectionβ
DELETE /api/integration/activepieces/connection/{integrationId}
Authorization: Bearer {token}
OAuth: Authorize (GET)β
GET /api/integration/activepieces/authorize?client_id={id}&redirect_uri={uri}&scope={scope}&state={state}
Redirects the user to the Gauzy consent screen at /pages/auth/oauth/authorize.
OAuth: Authorize (POST)β
POST /api/integration/activepieces/authorize
Authorization: Bearer {token}
Called by the Gauzy frontend after the user clicks "Authorize". Returns an HMAC-signed, single-use authorization code and redirects back to Activepieces.
OAuth: Token Exchangeβ
POST /api/integration/activepieces/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code={code}&client_id={id}&client_secret={secret}&redirect_uri={uri}
Response (200 OK):
{
"access_token": "eyJhbGciOi...",
"token_type": "Bearer",
"expires_in": 86400
}
Integration Settingsβ
Get Integration Settingsβ
GET /api/integration-setting?where[integrationId]={integration-id}
Authorization: Bearer {token}
Update Integration Settingβ
PUT /api/integration-setting/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"settingsName": "sync_frequency",
"settingsValue": "30"
}
Entity Settings (Integration-Entity Mapping)β
Get Entity Settingsβ
GET /api/integration-entity-setting?where[integrationId]={integration-id}
Authorization: Bearer {token}
Update Entity Settingβ
PUT /api/integration-entity-setting/{id}
Authorization: Bearer {token}
Content-Type: application/json
{
"entity": "Project",
"sync": true
}
Supported Integrationsβ
| Integration | Status | Sync Direction |
|---|---|---|
| GitHub | β Active | Bi-directional |
| Upwork | β Active | Import |
| HubStaff | β Active | Import |
| Jira | β Active | Bi-directional |
| Zapier | β Active | Webhook-based |
| Make.com | β Active | Webhook-based |
| ActivePieces | β Active | Bi-directional |
Required Permissionsβ
| Endpoint | Permission |
|---|---|
GET /api/integration | INTEGRATION_VIEW |
POST /api/integration | INTEGRATION_EDIT |
POST /api/integration/github/* | INTEGRATION_EDIT |