gigstack API
  1. Connect
gigstack API
  • gigstack API, your fiscal infraestructure
  • Ping
    • Ping
    • Ping API (GET)
      GET
    • Ping API (POST)
      POST
    • Ping API (PUT)
      PUT
    • Ping API (DELETE)
      DELETE
  • Payments
    • Payments
    • Create a payment
      POST
    • List payments
      GET
    • Get payment by ID
      GET
  • Invoices
    • Invoices
    • Create an invoice
      POST
    • List invoices
      GET
    • Get invoice by ID
      GET
  • Clients
    • Clients
    • Create a client
      POST
    • List clients
      GET
    • Get client by ID
      GET
  • Services
    • Services
    • Create a service
    • List services
    • Get service by ID
  • Receipts
    • Receipts
    • Create a receipt
    • List receipts
    • Get receipt by ID
    • Update receipt
    • Delete receipt
  • Webhooks
    • Webhooks
    • Create a webhook
    • List webhooks
    • Get webhook by ID
    • Delete webhook
  • Catalogs
    • Catalogs
    • List catalogs
    • Get catalog by ID
  • Connect
    • Connect
    • Create a team
      POST
    • List teams
      GET
    • Get team by ID
      GET
    • Update team
      PUT
    • Get team onboarding URL and connection status
      GET
    • Get team members
      GET
    • Update team members
      PUT
    • Remove team members
      DELETE
  1. Connect

Connect

Connect#

The Connect API enables multi-team management with advanced onboarding flows and integrations, allowing you to manage multiple organizations and teams within the GigStack platform.

Overview#

Use the Connect API to:
Manage multiple teams and organizations
Handle team onboarding processes
Set up team-specific integrations
Manage team permissions and access
Create white-label solutions
Enable team collaboration features

Endpoints#

POST /v2/connect/teams#

Create a new team.
Authentication Required: Yes

Request Body#

{
  "name": "Development Team Alpha",
  "description": "Main development team for Project Alpha",
  "industry": "Technology",
  "teamSize": "10-50",
  "country": "MX",
  "settings": {
    "currency": "MXN",
    "timezone": "America/Mexico_City",
    "language": "es",
    "fiscalYear": "calendar"
  },
  "onboarding": {
    "completed": false,
    "steps": [
      "team_setup",
      "payment_integration",
      "client_setup",
      "invoice_configuration"
    ]
  },
  "metadata": {
    "parentOrganization": "org_123",
    "department": "Engineering",
    "costCenter": "DEV001"
  }
}

Parameters#

ParameterTypeRequiredDescription
namestringYesTeam name
descriptionstringNoTeam description
industrystringNoIndustry classification
teamSizestringNoTeam size category
countrystringNoPrimary country (ISO code)
settingsobjectNoTeam configuration settings
onboardingobjectNoOnboarding process configuration
metadataobjectNoAdditional team information

Response#

Success Response (201 Created):
{
  "data": {
    "id": "team_789",
    "name": "Development Team Alpha",
    "description": "Main development team for Project Alpha",
    "industry": "Technology",
    "teamSize": "10-50",
    "country": "MX",
    "status": "active",
    "settings": {
      "currency": "MXN",
      "timezone": "America/Mexico_City",
      "language": "es",
      "fiscalYear": "calendar"
    },
    "onboarding": {
      "completed": false,
      "currentStep": "team_setup",
      "progress": 0,
      "steps": [
        "team_setup",
        "payment_integration",
        "client_setup",
        "invoice_configuration"
      ]
    },
    "metadata": {
      "parentOrganization": "org_123",
      "department": "Engineering",
      "costCenter": "DEV001"
    },
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z"
  },
  "message": "Team created successfully"
}

GET /v2/connect/teams#

List teams with optional filtering.
Authentication Required: Yes

Query Parameters#

ParameterTypeDescription
limitnumberNumber of results to return (default: 20, max: 100)
offsetnumberNumber of results to skip
statusstringFilter by team status
industrystringFilter by industry
countrystringFilter by country
onboardedbooleanFilter by onboarding completion status

Response#

Success Response (200 OK):
{
  "data": [
    {
      "id": "team_789",
      "name": "Development Team Alpha",
      "description": "Main development team for Project Alpha",
      "industry": "Technology",
      "status": "active",
      "country": "MX",
      "onboarding": {
        "completed": false,
        "progress": 25
      },
      "createdAt": "2024-01-15T10:30:00.000Z"
    }
  ],
  "message": "Teams retrieved successfully",
  "totalResults": 1,
  "hasMore": false,
  "next": null
}

GET /v2/connect/teams/{teamId}#

Get a specific team by ID.
Authentication Required: Yes

PUT /v2/connect/teams/{teamId}#

Update an existing team.
Authentication Required: Yes

DELETE /v2/connect/teams/{teamId}#

Delete a team.
Authentication Required: Yes

Onboarding Management#

POST /v2/connect/teams/{teamId}/onboarding/complete-step#

Complete an onboarding step.
Authentication Required: Yes

Request Body#

{
  "step": "payment_integration",
  "data": {
    "paymentProvider": "stripe",
    "webhookUrl": "https://team.example.com/webhooks/gigstack",
    "testMode": false
  }
}

GET /v2/connect/teams/{teamId}/onboarding#

Get team onboarding status and progress.
Authentication Required: Yes

Response#

{
  "data": {
    "teamId": "team_789",
    "completed": false,
    "currentStep": "payment_integration",
    "progress": 50,
    "steps": [
      {
        "id": "team_setup",
        "name": "Team Setup",
        "completed": true,
        "completedAt": "2024-01-15T10:30:00.000Z"
      },
      {
        "id": "payment_integration",
        "name": "Payment Integration",
        "completed": false,
        "required": true,
        "description": "Set up payment processing for your team"
      },
      {
        "id": "client_setup",
        "name": "Client Setup",
        "completed": false,
        "required": false,
        "description": "Add your first clients"
      },
      {
        "id": "invoice_configuration",
        "name": "Invoice Configuration",
        "completed": false,
        "required": true,
        "description": "Configure invoice templates and settings"
      }
    ]
  },
  "message": "Onboarding status retrieved successfully"
}

Team Member Management#

POST /v2/connect/teams/{teamId}/members#

Add a member to a team.
Authentication Required: Yes

Request Body#

{
  "email": "user@example.com",
  "role": "admin",
  "permissions": [
    "payments.create",
    "payments.read",
    "invoices.create",
    "invoices.read",
    "clients.create",
    "clients.read"
  ],
  "inviteMessage": "Welcome to our team! You've been invited to join our GigStack workspace."
}

GET /v2/connect/teams/{teamId}/members#

List team members.
Authentication Required: Yes

PUT /v2/connect/teams/{teamId}/members/{memberId}#

Update team member permissions.
Authentication Required: Yes

DELETE /v2/connect/teams/{teamId}/members/{memberId}#

Remove a team member.
Authentication Required: Yes

Team Integrations#

POST /v2/connect/teams/{teamId}/integrations#

Set up team-specific integrations.
Authentication Required: Yes

Request Body#

{
  "type": "webhook",
  "name": "Team Payment Notifications",
  "configuration": {
    "url": "https://team.example.com/webhooks/payments",
    "events": ["payment.completed", "invoice.paid"],
    "secret": "team_webhook_secret"
  },
  "isActive": true
}

GET /v2/connect/teams/{teamId}/integrations#

List team integrations.
Authentication Required: Yes

Code Examples#

Create and Configure a Team#

JavaScript/Node.js:

Manage Team Members#

JavaScript/Node.js:

Set Up Team Integrations#

JavaScript/Node.js:

Team Permissions System#

Permission Levels#

RoleDescriptionDefault Permissions
ownerFull team controlAll permissions
adminAdministrative accessAll except team deletion and billing
managerTeam and resource managementCreate/read/update resources, manage members
developerDevelopment and integrationAPI access, webhook management, read resources
userBasic accessRead-only access to assigned resources

Available Permissions#

PermissionDescription
team.readView team information
team.updateUpdate team settings
team.deleteDelete team
members.readView team members
members.inviteInvite team members
members.removeRemove team members
payments.createCreate payments
payments.readView payments
payments.updateUpdate payments
invoices.createCreate invoices
invoices.readView invoices
invoices.updateUpdate invoices
clients.createCreate clients
clients.readView clients
clients.updateUpdate clients
integrations.readView integrations
integrations.createCreate integrations
integrations.updateUpdate integrations

White-Label Solutions#

Custom Branding#

Configure team-specific branding:

Error Handling#

Handle Connect API specific errors:

Best Practices#

1.
Onboarding Flow: Implement progressive onboarding for better user experience
2.
Permission Management: Use role-based permissions for security
3.
Integration Monitoring: Monitor team integrations for failures
4.
Resource Isolation: Ensure proper data isolation between teams
5.
Audit Logging: Implement audit logs for team activities
6.
Billing Management: Track resource usage per team for billing

Next Steps#

Integrate team-specific webhooks
Set up team payment processing
Configure team-specific invoicing
Modified at 2025-06-11 05:01:26
Previous
Get catalog by ID
Next
Create a team
Built with