> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gigstack.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Deactivate a business (dar de baja)

> Pricing v3 only. Deactivates a non-master team of the caller's billing account so its RFC stops being billed from the next monthly cut (it is not billed for the month it is deactivated in unless it already issued something live that month). Use it for a business with invoices, payments or receipts, which `DELETE /teams/{id}` refuses (`team_has_existing_resources`) because they are kept for the SAT. While deactivated the team can be read, listed and its XML and PDF downloaded, but every stamp answers 412 `TEAM_DEACTIVATED` and creating receipts, payment requests, recurrences, retentions, drafts or SAT downloads answers 403 `team_deactivated`. Payments that arrive from connected processors are not written to the team; each one is kept as a `frozenEvents` record. Only the owner or an administrator of the billing account signed in as a person (web app or MCP personal credential); never a team API key.



## OpenAPI

````yaml openapi.json POST /teams/{id}/deactivate
openapi: 3.0.3
info:
  title: gigstack API v2
  description: >
    # gigstack API v2


    Build customer, invoice and payment integrations. Start with the
    [quickstart](https://docs.gigstack.io/quickstart), then select the [issuing
    country](https://docs.gigstack.io/concepts/shared-fields).


    ## Authentication and environments


    Use Authorization: Bearer YOUR_API_KEY. Standard live and test keys use
    https://api.gigstack.io/v2. Internal staging uses
    https://gigstack-staging-9z9nnaat.uc.gateway.dev/v2 and separate keys. Test
    mode is a data mode within an environment; a body field does not switch a
    key's mode.


    See [authentication](https://docs.gigstack.io/authentication) for key
    handling, OAuth team scope and gigstack Connect. Internal partner
    provisioning is outside this public contract; health probes have their own
    security declarations. Operations marked unavailable have no configured
    public gateway route.


    ## Read the operation contract


    Response envelopes, pagination and retry rules differ by endpoint. HTTP
    success alone does not prove external fiscal completion or movement of
    money. Reconcile ambiguous writes before retrying. Use [responses and
    recovery](https://docs.gigstack.io/responses) and the operation's error
    codes; document credits and daily limits are not generic retryable rate
    limits.


    The issuing team's configuration selects Mexico or Colombia; customer
    country and currency do not. Read
    [Mexico](https://docs.gigstack.io/countries/mexico) or
    [Colombia](https://docs.gigstack.io/countries/colombia) before choosing
    fiscal fields. Accepted public input differs from a provider's direct
    payload.


    Examples and schema checks do not imply every operation has been executed
    live. [Verification coverage](https://docs.gigstack.io/verification)
    distinguishes source review, offline checks and observed staging behavior.
    Documentation describes operations and does not authorize execution.
  version: 2.0.0
  contact:
    name: Gigstack API Support
    url: https://gigstack.io
    email: support@gigstack.io
  license:
    name: Proprietary
    url: https://gigstack.io/terms
  termsOfService: https://gigstack.io/terms
servers:
  - url: https://api.gigstack.io/v2
    description: >
      Public API for standard live and test-mode keys. Test data is isolated by
      the key mode

      (`livemode: false`). Internal staging is a separate deployment and key
      store; see

      https://docs.gigstack.io/authentication#environments for its base URL.
security:
  - bearerAuth: []
externalDocs:
  description: Complete API Documentation & Guides
  url: https://docs.gigstack.io
paths:
  /teams/{id}/deactivate:
    post:
      tags:
        - Teams
      summary: Deactivate a business (dar de baja)
      description: >-
        Pricing v3 only. Deactivates a non-master team of the caller's billing
        account so its RFC stops being billed from the next monthly cut (it is
        not billed for the month it is deactivated in unless it already issued
        something live that month). Use it for a business with invoices,
        payments or receipts, which `DELETE /teams/{id}` refuses
        (`team_has_existing_resources`) because they are kept for the SAT. While
        deactivated the team can be read, listed and its XML and PDF downloaded,
        but every stamp answers 412 `TEAM_DEACTIVATED` and creating receipts,
        payment requests, recurrences, retentions, drafts or SAT downloads
        answers 403 `team_deactivated`. Payments that arrive from connected
        processors are not written to the team; each one is kept as a
        `frozenEvents` record. Only the owner or an administrator of the billing
        account signed in as a person (web app or MCP personal credential);
        never a team API key.
      operationId: deactivateTeam
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/TeamParameter'
      responses:
        '200':
          description: The team, with `deactivated` and `deactivated_at`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/ApiPublicTeam'
                  message:
                    type: string
        '403':
          description: >-
            `team_deactivation_forbidden`, `pricing_v3_required` or
            `master_team_cannot_be_deactivated`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: '`team_not_found`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            `team_already_deactivated`, `team_pending_deletion` or
            `team_has_active_addons` (turn off the paid add-ons of this business
            first)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  parameters:
    TeamParameter:
      name: team
      in: query
      required: false
      schema:
        type: string
      description: >
        **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`
  schemas:
    ApiPublicTeam:
      type: object
      properties:
        id:
          type: string
          example: team_1234567890
        legal_name:
          type: string
          nullable: true
          example: Empresa de Tecnología S.A. de C.V.
          description: Official registered legal name of the company/team
        address:
          type: object
          nullable: true
          properties:
            country:
              type: string
              nullable: true
              example: MEX
            street:
              type: string
              nullable: true
              example: Av. Insurgentes Sur 456
            zip:
              example: '03100'
              type: string
              nullable: true
            city:
              example: Ciudad de México
              type: string
              nullable: true
            state:
              example: CDMX
              type: string
              nullable: true
            exterior:
              type: string
              nullable: true
              example: '96'
            interior:
              type: string
              nullable: true
              example: '10'
            neighborhood:
              type: string
              nullable: true
              example: Polanco
        brand:
          type: object
          properties:
            alias:
              type: string
              nullable: true
              example: Mi Empresa
            primary_color:
              type: string
              nullable: true
              example: '#007bff'
            secondary_color:
              type: string
              nullable: true
              example: '#6c757d'
            logo:
              type: string
              nullable: true
              example: https://example.com/logo.png
        settings:
          type: object
          nullable: true
          properties:
            avoid_legal_name_replacer:
              type: boolean
              nullable: true
            enforce_client_country_taxes:
              type: boolean
              nullable: true
            global_invoice_disabled:
              type: boolean
              nullable: true
              example: false
            automate_complement_for_ppd_invoices:
              example: true
              type: boolean
              nullable: true
            automate_partial_payment_complements:
              type: boolean
              nullable: true
            use_foreign_public_in_usd:
              type: boolean
              nullable: true
            avoid_receipts:
              type: boolean
              nullable: true
            cancel_receipts_on_refunds:
              type: boolean
              nullable: true
            invoice_per_receipt:
              type: boolean
              nullable: true
            allow_notes_on_self_invoice:
              type: boolean
              nullable: true
            allow_product_code_on_self_invoice:
              type: boolean
              nullable: true
            send_invoice_english_pdf:
              type: boolean
              nullable: true
            default_description:
              type: string
              nullable: true
              example: Default invoice description
            override_item_description:
              type: string
              nullable: true
              example: Custom item description
            invoice_pdf_notes:
              type: string
              nullable: true
              example: Additional notes for PDF
            product_key:
              type: string
              nullable: true
              example: '81112209'
            unit_key:
              example: E48
              type: string
              nullable: true
            unit_name:
              type: string
              nullable: true
            use:
              example: G03
              type: string
              nullable: true
            sku:
              type: string
              nullable: true
            addenda:
              type: string
              nullable: true
            custom_payment_description:
              type: string
              nullable: true
            customer_portal_id:
              type: string
              nullable: true
              example: portal_1234567890
            force_series:
              type: string
              nullable: true
            avoid_automations_on_currencies:
              type: array
              nullable: true
              items:
                type: string
              example:
                - USD
                - EUR
            uses_on_self_invoice_portal:
              type: array
              nullable: true
              items:
                type: string
              example:
                - G03
                - S01
            concepts_catalog:
              type: array
              nullable: true
              items:
                type: string
            taxes:
              type: array
              nullable: true
              items:
                type: object
            taxes_usd:
              oneOf:
                - type: array
                  nullable: true
                  items:
                    type: object
                - type: boolean
                  nullable: true
            withholding_taxes:
              type: array
              nullable: true
              items:
                type: object
            local_taxes:
              type: array
              items:
                type: object
                additionalProperties: true
                properties: {}
              nullable: true
            complements:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  data:
                    type: string
                    nullable: true
                  description:
                    type: string
                    nullable: true
                  type:
                    type: string
                    nullable: true
            allowed_product_codes:
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - key
                  - description
                properties:
                  key:
                    type: string
                  description:
                    type: string
              nullable: true
            allowed_uses_by_product_key:
              description: >-
                Self-invoice portal limit on the uso CFDI per SAT product key. A
                receipt allows only the uses common to every item whose product
                key has a rule.
              type: array
              items:
                type: object
                additionalProperties: false
                required:
                  - key
                  - uses
                properties:
                  key:
                    type: string
                    example: '01010101'
                  description:
                    type: string
                    nullable: true
                  uses:
                    type: array
                    items:
                      type: string
                    example:
                      - G03
                      - D07
              nullable: true
            periodicity:
              type: object
              nullable: true
              properties:
                label:
                  type: string
                  example: Mes
                value:
                  type: string
                  example: month
            pdf_language:
              type: string
              enum:
                - en
                - es
                - null
              nullable: true
            global_invoicing_monthly_cuts:
              type: number
              enum:
                - 2
                - 3
                - 4
                - 5
                - null
              nullable: true
            eom_ppd_threshold_days:
              type: integer
              nullable: true
              minimum: 0
              maximum: 31
            limit_days_to_pay:
              type: integer
              minimum: 0
              nullable: true
            payment_reminders:
              type: object
              additionalProperties: false
              properties:
                days:
                  type: integer
                  minimum: 0
                  nullable: true
                enabled:
                  type: boolean
                  nullable: true
                before_body:
                  type: string
                  nullable: true
                before_subject:
                  type: string
                  nullable: true
                after_body:
                  type: string
                  nullable: true
                after_subject:
                  type: string
                  nullable: true
              nullable: true
            reinvoice:
              type: object
              additionalProperties: false
              properties:
                window_days:
                  type: integer
                  minimum: 0
                  nullable: true
                handler:
                  type: string
                  enum:
                    - credit_note
                    - cancel_resources
                    - null
                  nullable: true
              nullable: true
            refunds:
              type: object
              additionalProperties: false
              properties:
                automatic_refunds:
                  type: boolean
                  nullable: true
                current_month_handler:
                  type: string
                  enum:
                    - credit_note
                    - cancel_resources
                    - null
                  nullable: true
              nullable: true
            emails:
              type: object
              properties:
                invoices_bcc:
                  type: array
                  nullable: true
                  items:
                    type: string
                  example:
                    - accounting@example.com
                avoid_invoice_emails:
                  type: boolean
                  nullable: true
                  example: false
                avoid_test_invoice_emails:
                  example: true
                  type: boolean
                  nullable: true
                avoid_receipts_emails:
                  type: boolean
                  nullable: true
                  example: false
                payments_bcc:
                  type: array
                  items:
                    type: string
                    format: email
                  nullable: true
                receipts_bcc:
                  type: array
                  items:
                    type: string
                    format: email
                  nullable: true
                avoid_foreign_receipts_emails:
                  type: boolean
                  nullable: true
                invoice_body:
                  type: string
                  nullable: true
                invoice_subject:
                  type: string
                  nullable: true
                complement_body:
                  type: string
                  nullable: true
                complement_subject:
                  type: string
                  nullable: true
                credit_note_body:
                  type: string
                  nullable: true
                credit_note_subject:
                  type: string
                  nullable: true
                payment_body:
                  type: string
                  nullable: true
                payment_subject:
                  type: string
                  nullable: true
                receipt_body:
                  type: string
                  nullable: true
                receipt_subject:
                  type: string
                  nullable: true
                receipt_reminder_body:
                  type: string
                  nullable: true
                receipt_reminder_subject:
                  type: string
                  nullable: true
            email_templates:
              type: object
              additionalProperties: false
              properties:
                invoices:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
                complements:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
                credit_notes:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
                payments:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
                receipts:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
                receipt_reminders:
                  type: object
                  additionalProperties: false
                  properties:
                    es:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                    en:
                      type: object
                      additionalProperties: false
                      properties:
                        body:
                          type: string
                          nullable: true
                        subject:
                          type: string
                          nullable: true
                      nullable: true
                  nullable: true
              nullable: true
            default_series:
              type: object
              properties:
                income:
                  type: object
                  properties:
                    serie:
                      type: string
                      nullable: true
                      example: A
                complements:
                  type: object
                  properties:
                    serie:
                      type: string
                      nullable: true
                      example: P
                credit_note:
                  type: object
                  properties:
                    serie:
                      type: string
                      nullable: true
                      example: NC
        tax_id:
          type: string
          nullable: true
          example: EMP800101ABC
        tax_system:
          example: '601'
          type: string
          nullable: true
        support_email:
          type: string
          nullable: true
          example: support@empresa.com
        support_phone:
          example: +52 55 1234 5678
          type: string
          nullable: true
        owner:
          type: string
          nullable: true
          example: user_1234567890
        created_at:
          type: number
          nullable: true
          example: 1677651234
        sat:
          type: object
          properties:
            completed:
              example: true
              type: boolean
              nullable: true
            connected_at:
              type: number
              nullable: true
              example: 1677651234
            csd_expires_at:
              type: number
              nullable: true
              example: 1924991999
        members:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                nullable: true
                example: user_1234567890
              email:
                type: string
                nullable: true
                example: member@empresa.com
              role:
                type: string
                nullable: true
                example: admin
              is_owner:
                type: boolean
              permissions:
                type: object
                additionalProperties: false
                properties:
                  invoices:
                    type: string
                    enum:
                      - editor
                      - viewer
                      - none
                  receipts:
                    type: string
                    enum:
                      - editor
                      - viewer
                      - none
                  payments:
                    type: string
                    enum:
                      - editor
                      - viewer
                      - none
                  services:
                    type: string
                    enum:
                      - editor
                      - viewer
                      - none
                  expenses:
                    type: string
                    enum:
                      - editor
                      - viewer
                      - none
        integrations:
          type: object
          properties:
            stripe:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            mercadopago:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            clip:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            whmcs:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            paypal:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            openpay:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            conekta:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            bank:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            shopify:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            zapier:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            airtable:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            google_sheets:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: payments
            hilos:
              type: object
              properties:
                completed:
                  type: boolean
                  nullable: true
                  example: false
                category:
                  type: string
                  nullable: true
                  example: messaging
        credit_limit:
          type: number
          nullable: true
          example: 1000
          description: >-
            Maximum number of documents (credits) the team can create per
            billing period. Null means no per-team limit (shared billing account
            pool).
        used_credits:
          type: number
          example: 250
          description: Number of credits used by this team in the current billing period.
        credit_period_start:
          type: number
          nullable: true
          example: 1677651234000
          description: >-
            Unix timestamp (milliseconds) when the current credit period
            started. Resets each billing cycle.
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          example:
            custom_field: value
        status:
          type: string
          nullable: true
          description: >-
            `pending_deletion` after `DELETE /teams/{id}`; otherwise usually
            absent or `active`.
          example: active
        scheduled_deletion:
          type: object
          nullable: true
          description: Set when the team is scheduled for deletion.
          properties:
            date:
              description: When the team will be deleted.
            flagged_at:
              type: integer
              format: int64
            flagged_by:
              type: string
        deactivated:
          type: boolean
          description: >-
            Pricing v3: the business is dado de baja (`POST
            /teams/{id}/deactivate`). It keeps its history, issues nothing new
            and does not pay its RFC fee.
          example: false
        deactivated_at:
          type: integer
          format: int64
          nullable: true
          description: When the business was deactivated (ms), or null.
          example: null
    ErrorResponse:
      allOf:
        - $ref: '#/components/schemas/StandardErrorResponse'
      description: Standardized error envelope.
      example:
        success: false
        error:
          code: invalid_request_body
          message: An error occurred
        timestamp: 1767225600000
    StandardErrorResponse:
      type: object
      description: >
        Standardized error envelope emitted by `sendErrorResponse` and its
        helpers

        (`sendValidationError`, `sendNotFoundError`, `sendUnauthorizedError`,

        `sendForbiddenError`, `sendConflictError`, `sendBadRequestError`,

        `sendInternalServerError`).
      required:
        - success
        - error
        - timestamp
      properties:
        success:
          type: boolean
          enum:
            - false
          example: false
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: >
                Stable machine-readable code. Values emitted by the shared
                helpers:

                `unauthorized`, `forbidden`, `invalid_token`,
                `validation_failed`,

                `invalid_request_body`, `missing_required_field`,
                `invalid_field_value`,

                `resource_not_found`, `resource_already_exists`,
                `resource_conflict`,

                `business_rule_violation`, `operation_not_allowed`,

                `insufficient_permissions`, `external_service_error`,

                `payment_processor_error`, `cfdi_service_error`,

                `internal_server_error`, `service_unavailable`,
                `rate_limit_exceeded`,

                `database_error`, `data_integrity_error`, `file_not_found`,

                `file_upload_error`, `invalid_file_format`. Individual handlers
                may

                emit additional endpoint-specific codes, documented per
                operation.
              example: validation_failed
            message:
              type: string
              example: Request validation failed
            details:
              oneOf:
                - type: string
                - type: array
                  items:
                    type: string
                - type: object
              description: >
                Present only when the handler supplies detail. Validation
                failures

                emit an array of `"<field path>: <message>"` strings. An object
                only

                where an operation documents its keys: account billing answers
                `409`

                `billing_operation_pending` with `{ "operation_id": "<id>" }`,
                the

                operation holding the account lock, to reconcile

                (`POST /teams/{id}/billing/operations/{operationId}/reconcile`).
              example:
                - 'currency: Field is required'
        timestamp:
          type: integer
          format: int64
          description: Server time in epoch milliseconds.
          example: 1767225600000
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        **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](https://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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.