curl --request GET \
--url https://api.gigstack.io/v2/teams/{id}/settings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/teams/{id}/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/{id}/settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"avoid_legal_name_replacer": true,
"enforce_client_country_taxes": true,
"global_invoice_disabled": false,
"automate_complement_for_ppd_invoices": true,
"automate_partial_payment_complements": true,
"use_foreign_public_in_usd": true,
"avoid_receipts": true,
"cancel_receipts_on_refunds": true,
"invoice_per_receipt": true,
"allow_notes_on_self_invoice": true,
"allow_product_code_on_self_invoice": true,
"send_invoice_english_pdf": true,
"default_description": "Default invoice description",
"override_item_description": "Custom item description",
"invoice_pdf_notes": "Additional notes for PDF",
"product_key": "81112209",
"unit_key": "E48",
"unit_name": "<string>",
"use": "G03",
"sku": "<string>",
"addenda": "<string>",
"custom_payment_description": "<string>",
"customer_portal_id": "portal_1234567890",
"force_series": "<string>",
"avoid_automations_on_currencies": [
"USD",
"EUR"
],
"uses_on_self_invoice_portal": [
"G03",
"S01"
],
"concepts_catalog": [
"<string>"
],
"taxes": [
{}
],
"taxes_usd": [
{}
],
"withholding_taxes": [
{}
],
"local_taxes": [
{}
],
"complements": [
{
"data": "<string>",
"description": "<string>",
"type": "<string>"
}
],
"allowed_product_codes": [
{
"key": "<string>",
"description": "<string>"
}
],
"periodicity": {
"label": "Mes",
"value": "month"
},
"pdf_language": "en",
"global_invoicing_monthly_cuts": 2,
"eom_ppd_threshold_days": 15,
"limit_days_to_pay": 1,
"payment_reminders": {
"days": 1,
"enabled": true,
"before_body": "<string>",
"before_subject": "<string>",
"after_body": "<string>",
"after_subject": "<string>"
},
"reinvoice": {
"window_days": 1,
"handler": "credit_note"
},
"refunds": {
"automatic_refunds": true,
"current_month_handler": "credit_note"
},
"emails": {
"invoices_bcc": [
"accounting@example.com"
],
"avoid_invoice_emails": false,
"avoid_test_invoice_emails": true,
"avoid_receipts_emails": false
},
"email_templates": {
"invoices": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"complements": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"credit_notes": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"payments": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"receipts": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"receipt_reminders": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
}
},
"default_series": {
"income": {
"serie": "A"
},
"complements": {
"serie": "P"
},
"credit_note": {
"serie": "NC"
}
}
},
"success": true,
"message": "<string>",
"timestamp": 123
}Get team settings
Read the authorized team defaults without credential values. PUT on this route patches supplied fields only.
curl --request GET \
--url https://api.gigstack.io/v2/teams/{id}/settings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gigstack.io/v2/teams/{id}/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gigstack.io/v2/teams/{id}/settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"avoid_legal_name_replacer": true,
"enforce_client_country_taxes": true,
"global_invoice_disabled": false,
"automate_complement_for_ppd_invoices": true,
"automate_partial_payment_complements": true,
"use_foreign_public_in_usd": true,
"avoid_receipts": true,
"cancel_receipts_on_refunds": true,
"invoice_per_receipt": true,
"allow_notes_on_self_invoice": true,
"allow_product_code_on_self_invoice": true,
"send_invoice_english_pdf": true,
"default_description": "Default invoice description",
"override_item_description": "Custom item description",
"invoice_pdf_notes": "Additional notes for PDF",
"product_key": "81112209",
"unit_key": "E48",
"unit_name": "<string>",
"use": "G03",
"sku": "<string>",
"addenda": "<string>",
"custom_payment_description": "<string>",
"customer_portal_id": "portal_1234567890",
"force_series": "<string>",
"avoid_automations_on_currencies": [
"USD",
"EUR"
],
"uses_on_self_invoice_portal": [
"G03",
"S01"
],
"concepts_catalog": [
"<string>"
],
"taxes": [
{}
],
"taxes_usd": [
{}
],
"withholding_taxes": [
{}
],
"local_taxes": [
{}
],
"complements": [
{
"data": "<string>",
"description": "<string>",
"type": "<string>"
}
],
"allowed_product_codes": [
{
"key": "<string>",
"description": "<string>"
}
],
"periodicity": {
"label": "Mes",
"value": "month"
},
"pdf_language": "en",
"global_invoicing_monthly_cuts": 2,
"eom_ppd_threshold_days": 15,
"limit_days_to_pay": 1,
"payment_reminders": {
"days": 1,
"enabled": true,
"before_body": "<string>",
"before_subject": "<string>",
"after_body": "<string>",
"after_subject": "<string>"
},
"reinvoice": {
"window_days": 1,
"handler": "credit_note"
},
"refunds": {
"automatic_refunds": true,
"current_month_handler": "credit_note"
},
"emails": {
"invoices_bcc": [
"accounting@example.com"
],
"avoid_invoice_emails": false,
"avoid_test_invoice_emails": true,
"avoid_receipts_emails": false
},
"email_templates": {
"invoices": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"complements": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"credit_notes": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"payments": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"receipts": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
},
"receipt_reminders": {
"es": {
"body": "<string>",
"subject": "<string>"
},
"en": {
"body": "<string>",
"subject": "<string>"
}
}
},
"default_series": {
"income": {
"serie": "A"
},
"complements": {
"serie": "P"
},
"credit_note": {
"serie": "NC"
}
}
},
"success": true,
"message": "<string>",
"timestamp": 123
}Authorizations
Authentication Method: HTTP Bearer token.
The runtime requires the literal Bearer prefix — a bare token in the
Authorization header is rejected with 401 unauthorized.
Header Format: Authorization: Bearer YOUR_API_KEY
Your API key is a JWT. Live keys operate on live data (livemode: true);
test keys operate on isolated test data (livemode: false).
Get your key at: app.gigstack.pro/settings?tab=api
Errors: credential failures are answered by the authentication layer with a raw
{ "message": … } body, not the standardized envelope — 401 for a missing, malformed or
expired token, 403 for a revoked key or a plan without API access. See the Unauthorized
and AuthForbidden responses.
Path Parameters
Query Parameters
gigstack Connect: Target team ID for multi-team access.
Requires gigstack Connect enabled on your team and shared billing account.
Also requires the multipleIssuerAccounts feature on your plan. Requests targeting a
team other than the one your API key belongs to return 403 without it.
Only API keys can use it: an OAuth access token sent with another team's id is rejected with
403 Team mismatch with OAuth token.
Optional — omit it entirely unless you are acting on another team. It deliberately
carries no example value so generated snippets do not emit ?team=undefined; when the
parameter is absent, the team is derived from your API key.
Example: ?team=team_xyz789