📡 API Reference

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

IntegrationStatusSync Direction
GitHub✅ ActiveBi-directional
Upwork✅ ActiveImport
HubStaff✅ ActiveImport
Jira✅ ActiveBi-directional
Zapier✅ ActiveWebhook-based
Make.com✅ ActiveWebhook-based
ActivePieces✅ ActiveBi-directional

Required Permissions

EndpointPermission
GET /api/integrationINTEGRATION_VIEW
POST /api/integrationINTEGRATION_EDIT
POST /api/integration/github/*INTEGRATION_EDIT

Edit this page

Copyright © 2023-Present Ever Co. LTD.Docs by Sourcey