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

# Update a gateway

> Only supplied fields change; send null to clear a prompt. A gateway's organization and type cannot be changed. When the type's feature toggle is off, activating an inactive gateway returns 403; editing or deactivating an existing gateway remains allowed. An update returns 409 if it would leave two active ServiceNow gateways in the tenant using the same assignment group and environment.



## OpenAPI

````yaml /0.14/openapi.json post /api/v1/gateways/{id}
openapi: 3.0.3
info:
  title: 2501 Public API
  version: v1
  description: >-
    The stable, versioned HTTP API for driving 2501 as code. See the API
    Overview for authentication, the org_id rule, cursor pagination, and the
    error envelope.
servers:
  - url: https://{command_center_host}
    variables:
      command_center_host:
        default: your-command-center-host
        description: Your Command Center host
security:
  - bearerAuth: []
paths:
  /api/v1/gateways/{id}:
    post:
      tags:
        - Gateways
      summary: Update a gateway
      description: >-
        Only supplied fields change; send null to clear a prompt. A gateway's
        organization and type cannot be changed. When the type's feature toggle
        is off, activating an inactive gateway returns 403; editing or
        deactivating an existing gateway remains allowed. An update returns 409
        if it would leave two active ServiceNow gateways in the tenant using the
        same assignment group and environment.
      parameters:
        - schema:
            type: string
          required: true
          name: id
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                active:
                  type: boolean
                inbound_prompt:
                  type: string
                  nullable: true
                outbound_prompt:
                  type: string
                  nullable: true
                inbound_override_enabled:
                  type: boolean
                outbound_override_enabled:
                  type: boolean
                metadata:
                  type: object
                  nullable: true
                  additionalProperties:
                    nullable: true
      responses:
        '200':
          description: The updated gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Gateway'
        '400':
          description: >-
            Bad request - a field is missing, malformed, or not allowed
            (VALIDATION_FAILED, BAD_REQUEST, INVALID_CURSOR)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: >-
            No credentials, or a key that is invalid, revoked, or expired
            (UNAUTHORIZED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Authenticated but not allowed (FORBIDDEN, ORG_ACCESS_DENIED,
            STEP_UP_REFUSED, TWO_FACTOR_ENROLLMENT_REQUIRED,
            LICENSE_CAP_REACHED, LICENSE_EXPIRED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No such row that this caller can see (NOT_FOUND)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The write conflicts with existing data (CONFLICT, DUPLICATE_KEY,
            FOREIGN_KEY_VIOLATION, RESOURCE_IN_USE)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Gateway:
      type: object
      properties:
        id:
          type: string
          example: gtw_6a2d4f81-...
        type:
          type: string
          description: Integration this gateway speaks
          example: servicenow
        active:
          type: boolean
        org_id:
          type: string
          example: org_460b541c-...
        tenant_id:
          type: string
          example: ten_115bea44-...
        user_id:
          type: string
          example: usr_2b91c7de-...
        metadata:
          type: object
          nullable: true
          additionalProperties:
            nullable: true
          description: Type-specific connection settings
          example:
            servicenow_assigned_group_id: net-ops
            environment: prod
        inbound_prompt:
          type: string
          nullable: true
          description: Take/skip and routing rules applied to incoming tickets
        outbound_prompt:
          type: string
          nullable: true
          description: Status, comment and escalation rules for ticket writes
        inbound_override_enabled:
          type: boolean
          description: Off leaves the default ticket rules in force
        outbound_override_enabled:
          type: boolean
        created_at:
          type: string
          format: date-time
          example: '2026-08-26T10:00:26.380Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-08-26T10:00:26.380Z'
      required:
        - id
        - type
        - active
        - org_id
        - tenant_id
        - user_id
        - metadata
        - inbound_prompt
        - outbound_prompt
        - inbound_override_enabled
        - outbound_override_enabled
        - created_at
        - updated_at
    Error:
      type: object
      properties:
        code:
          type: string
          example: VALIDATION_FAILED
        message:
          type: string
          example: Validation failed
        request_id:
          type: string
          example: req_3702b7e7-...
        field:
          type: string
          description: Set when one input is at fault
        errors:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
            required:
              - field
              - message
          description: Set when several inputs are at fault
        details:
          type: object
          additionalProperties:
            nullable: true
      required:
        - code
        - message
        - request_id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An API key minted in Command Center (Settings -> API Keys), sent as
        `Authorization: Bearer 2501_ak_...`. A Command Center session cookie is
        also accepted.

````