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

# Change test or production

> Mark an owned endpoint test or production. Production runs send GET requests only; journeys and manual writes are refused. Changes are audited.



## OpenAPI

````yaml /openapi/public-api.json put /connections/{id}/environment
openapi: 3.1.0
info:
  title: ChargerDojo public API
  version: 1.0.0
  description: >-
    Automate ChargerDojo with a cdojo_ API key: register partner endpoints, run
    conformance suites and charging journeys, and read the graded reports.
servers:
  - url: https://chargerdojo.com/api/v1
security:
  - apiKey: []
tags:
  - name: Connections
  - name: Testing
  - name: Reports
  - name: Usage
  - name: Journeys
paths:
  /connections/{id}/environment:
    put:
      tags:
        - Connections
      summary: Mark an endpoint as a test system or production
      description: >-
        Mark an owned endpoint test or production. Production runs send GET
        requests only; journeys and manual writes are refused. Changes are
        audited.
      operationId: connections_change_environment
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Identifier from the path. Owner scoped: another owner's id answers
            404.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangePartnerEnvironment'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
        '400':
          description: Malformed input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found, or owned by another account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Quota or rate limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    ChangePartnerEnvironment:
      type: object
      required:
        - partnerEnvironment
      properties:
        partnerEnvironment:
          type: string
          enum:
            - test
            - production
    Connection:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
        data:
          $ref: '#/components/schemas/ConnectionView'
        meta:
          type: object
          description: Paging, on the operations that return a list.
          properties:
            limit:
              type: integer
            skip:
              type: integer
            nextCursor:
              type: string
          additionalProperties: true
    Error:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
        status:
          type: string
          enum:
            - error
        code:
          type: string
        timestamp:
          type: string
          format: date-time
        capability:
          type: string
          enum:
            - external-endpoints
            - ci-handoff
            - saved-presets
            - roaming-hub-identity
            - load-testing
            - direct-payment
            - bookings
            - scheduled-runs
            - roaming-hub-relay
            - partner-profiles
        limit:
          type: object
          required:
            - id
            - used
            - cap
          properties:
            id:
              type: string
              enum:
                - connections
                - run-concurrency
            used:
              type: integer
            cap:
              type: integer
    ConnectionView:
      type: object
      additionalProperties: true
      required:
        - _id
        - partnerBaseUrl
        - ourRole
        - theirRole
        - ocpiVersion
        - status
      properties:
        _id:
          type: string
        partnerBaseUrl:
          type: string
          format: uri
        partnerEnvironment:
          type: string
          enum:
            - test
            - production
          description: >-
            Production sweeps send GET requests only. Existing external
            endpoints without a stored answer read as test.
        partnerEnvironmentConfirmed:
          type: boolean
          description: Whether a person explicitly selected test or production.
        ourRole:
          type: string
          enum:
            - CPO
            - EMSP
            - HUB
            - NAP
            - NSP
            - OTHER
            - SCSP
        theirRole:
          type: string
          enum:
            - CPO
            - EMSP
            - HUB
            - NAP
            - NSP
            - OTHER
            - SCSP
        ocpiVersion:
          type: string
          enum:
            - 2.1.1
            - '2.2'
            - 2.2.1
            - 2.3.0
        status:
          type: string
          enum:
            - pending
            - registered
            - failed
        kind:
          type: string
          enum:
            - external
            - sandbox
          description: >-
            sandbox is the built-in peer every account can run against; external
            is an endpoint you registered. Absent on connections created before
            the sandbox existed, which are external.
        lastError:
          type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: A cdojo_... API key created in the app under Settings.

````

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