Overview
gigstack Connect is a powerful feature that allows teams with special permissions to access and manage resources (clients, invoices, payments, etc.) across multiple teams that share the same billing account. This is ideal for franchises, multi-entity businesses, service providers managing multiple client accounts, and marketplace platforms that need to split payments between platform and merchants.Key Features
- Multi-Team Access - Access resources across teams
- Payment Splitting - Split marketplace payments between platform and merchants
- Unified Management - Manage multiple teams from one API key
- Billing Account Scope - Limited to teams in same billing account
- Resource-level Availability - Available on eligible endpoints, with exceptions below
- Seamless Integration - Simple query parameter addition
- Security Controls - Permission-based access
How It Works
Add theteam query parameter to an eligible resource endpoint to access another team’s resources:
Requirements
- gigstack Connect Enabled - Your API key’s team must be a master team (gigstack Connect enabled)
- Shared Billing - Target team must share the same billing account
- Team Exists - Target team must exist
- Plan Feature - Your plan must include
multipleIssuerAccounts - API Key - Use an API key. OAuth access tokens are bound to their own team; sending another team’s id returns
403 Team mismatch with OAuth token
Choose the right RFC before you create the team
This is the single highest-cost mistake in a Connect integration, so it comes before the examples. One RFC ⇄ one team. Always. A team’srfc is what binds it to a taxpayer, and there is no way to attach a second RFC to an existing team. If a partner manages ten merchants, that is ten teams.
The RFC you pick at team-creation time is the RFC whose FIEL that team will be able to accept — and nothing else. When the connected team later uploads its e-firma:
.cer and compares it, character for character, to the rfc on the team named by ?team=. Any difference is a hard 400:
- It is the connected team that is checked, not the master team. The
?team=parameter selects which team the credentials are attached to and which RFC they are validated against. A FIEL uploaded without?team=lands on the API key’s own team — usually the master — and will be rejected unless the certificate happens to be the master’s own. - There is no override. No flag, no support toggle. If the RFCs differ, the only remedy is a team whose
rfcmatches the certificate.
Use the business RFC, not the legal representative’s
When a partner onboards a company, the RFC that should go on the team is the company’s — the one the company invoices under and the one its FIEL is issued to. It is easy to instead capture the RFC of whoever is filling in the onboarding form: the director, the founder, the accountant. That RFC belongs to a persona física and its FIEL is a personal certificate; it will never match a company certificate. A quick sanity check that catches almost every case:
If the team’s RFC is 13 characters and the merchant is a company, the team is wrong. Fix it before you ask them for their FIEL.
Why this bites late
Nothing in the earlier steps complains. Team creation accepts any RFC. Clients, payments, services, receipts and webhooks all work. The mismatch only surfaces at FIEL upload — the last step of onboarding, after the merchant has already exported their certificate and typed their e-firma password. This has cost real partners days of repeated failed uploads before anyone compared the two RFCs. Do this instead:- Confirm with the merchant which RFC they invoice under, and confirm their FIEL is issued to that same RFC.
- Create the connected team with that RFC. On
POST /v2/teamsthe field istax_id; onPOST /v2/auth/signupit isrfc. Both land on the team’s internalrfc, which is what the FIEL check compares against. - Read the team back (
GET /v2/teams/{id}, where it is returned astax_id) and verify it before collecting any certificate. - Only then request the FIEL and upload it with
?team=pointed at that team.
Usage Examples
Accessing Clients Across Teams
Managing Invoices Across Teams
Processing Payments for Other Teams
Managing Services Across Teams
Team Settings Management
Marketplace Payment Splitting
gigstack Connect enables marketplace platforms to automatically split payments between the platform (master team) and merchants (connect teams). This feature is only available for master teams with marketplace-enabled billing accounts.How Payment Splitting Works
When you register a payment withtransfer_data, the system:
- Validates that your team has marketplace permissions
- Calculates the split based on the master percentage or custom_price
- Creates two separate payments (master and connect)
- Assigns clients according to your configuration
- Returns both payment IDs and split details
team and livemode fields are automatically extracted from your authentication token - you don’t need to send them.
Basic Marketplace Payment Split
Creating a New Merchant Team
If the connect team doesn’t exist (by tax ID), a new team will be created automatically:
The transfer_data.connect RFC becomes the new team’s RFC permanently. Auto-creation is the easiest place to get this wrong, because the RFC arrives buried in a payment payload rather than in a team form. Send the merchant’s business RFC here — that team will only ever accept a FIEL issued to this exact value. See Choose the right RFC.
onboarding_url to the merchant to complete their account setup.
Custom Item Configuration for Connect Payments
Customize how items appear in the connect team’s payment and invoices:Fixed Commission Pricing
Instead of percentage-based splits, charge a fixed commission fee usingcustom_price:
- Predictable fees: Charge the same commission regardless of transaction size
- Minimum guarantees: Ensure a minimum platform fee on small transactions
- Tiered pricing: Implement different fixed fees for different service levels
- Simple calculations: Merchants know exactly what they’ll pay
custom_priceoverrides the percentage calculation- Connect gets the exact
custom_priceamount - Master receives the remainder (total - custom_price)
- The
masterpercentage is ignored when usingcustom_price
Client Assignment Strategies
Strategy 1: Both payments to original client- Master payment: assigned to original client
- Connect payment: assigned to original client
- Use case: End customer pays both platform and merchant
- Master payment: assigned to original client
- Connect payment: master team becomes the client
- Use case: Platform pays merchant on behalf of customer
- Master payment: connect team becomes the client
- Connect payment: assigned to original client
- Use case: Merchant pays platform fee, customer pays merchant
- Master payment: connect team becomes the client
- Connect payment: master team becomes the client
- Use case: Complex inter-company transactions
Use Cases
1. Franchise Management
Manage multiple franchise locations from a central account:2. Multi-Entity Corporation
Handle invoicing for different business entities:3. Accounting Service Provider
Manage multiple client companies:4. Consolidated Operations
Perform bulk operations across teams:5. Marketplace Platform
Process payments with automatic splitting between platform and merchants:Security and Permissions
Access Control
- Only teams with gigstack Connect enabled can use this feature
- Target teams must be in the same billing account
- User permissions apply to cross-team operations
- Audit logs track all cross-team actions
Permission Requirements
API keys and OAuth access tokens represent a team, not the current personal role of the person who originally created the credential. Protect them as team credentials. The Connect team/billing/plan checks still apply, and OAuth cannot switch teams. User-scoped credentials (such as MCP or dashboard tokens) are subject to the route’s team-role or module-permission checks. Roles areviewer, editor and admin;
there is no general member role that grants all writes. Consult each administrative
or destructive operation’s requirements. A resource or team outside your scope may
be reported as 404 rather than a role error.
Error Responses
Connect errors come from the authentication layer, before the endpoint runs. The body is a raw object with amessage — not the standardized envelope.
Not a Master Team (401)
Team Not Found (404)
No Matched Teams (401)
Plan Without Multiple Issuer Accounts (403)
multipleIssuerAccounts.
OAuth Token Used for Another Team (403)
Best Practices
- Cache Team IDs - Store frequently accessed team IDs
- Batch Operations - Group operations by team for efficiency
- Error Handling - Implement robust error handling for cross-team ops
- Audit Trail - Log all cross-team operations
- Permission Checks - Verify permissions before bulk operations
- Rate Limiting - Be mindful of rate limits when accessing multiple teams
- Consistent Naming - Use clear naming conventions for cross-team resources
Performance Considerations
Rate Limits
- The team credit limit is per team: documents issued for a connected team count against that team’s
credit_limit - The 10-per-day manual SAT download limit is also per team
- See Rate Limits for the full list
Optimization Tips
Complete Endpoint Support
Eligible resource endpoints accept?team=TEAM_ID when the credential, plan and
billing-account checks above pass. Check the operation’s team parameter and
availability notice before building a shared client wrapper.
Core Resources
Clients, services, income invoices, payments, teams and users document their supported cross-team operations in the API reference. A path’s resource ID must still belong to the intended accessible team;team is not a bypass for resource access checks.
Additional Operations
For platform payouts, do not attach a connected
team parameter to the run itself. Once a run issues an income invoice belonging to
a provider, retrieving that invoice may require its provider team parameter.
Getting Started
Step 1: Verify gigstack Connect Status
Confirm the master-team feature and plan with your account administrator. The public team response does not containgigstack_connect_enabled; do not wait for that flag.
Then list your accessible teams:
Step 2: List Available Teams
Step 3: Test Cross-Team Access
Step 4: Implement in Your Application
For additional assistance, contact support@gigstack.io