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

# Unenrol site

> Unenrol a site from a proposition.

Withdraws the site from the proposition and prevents further scheduling. Does not delete the site or its assets.

Use when the user is opting out of this proposition specifically — for example, they toggled it off in your app. The site and assets are kept, any other propositions they're enrolled in (such as Capacity Market) are unaffected, and the user can re-enrol later and still access their payments.

If the user is leaving entirely (moving house, support-led removal, etc.), use `offboard-site-and-assets` instead.

Idempotent: if the site is already unenrolled, returns `already_unenrolled` without making changes.



## OpenAPI

````yaml POST /entities/site/{site_id}/unenrol
openapi: 3.1.0
info:
  title: Axle API Docs
  description: >-
    For full documentation please see our official docs at <a
    href='http://docs.axle.energy'>docs.axle.energy</a>
  version: 1.4.6
servers:
  - url: https://api-sandbox.axle.energy
security: []
tags:
  - name: 1. Authentication
    description: Authenticate yourself with the Axle API
  - name: 2. Meters
    description: Find key info about your sites
  - name: 3. Sites
    description: Register your sites with Axle; configure market participation
  - name: 4. Assets
    description: Register your assets with Axle
  - name: 5. Data
    description: Send asset metrics to Axle, for analysis and optimisation purposes
  - name: 6. Rewards
    description: >-
      Determine how much your users have earned by participating with Axle;
      allow balance withdrawal
  - name: 7. Validation
    description: Validate structured data against Axle's rules
  - name: 8. Examples
    description: Get example data for testing
paths:
  /entities/site/{site_id}/unenrol:
    post:
      tags:
        - 3. Sites
      summary: Unenrol Site
      description: >-
        Unenrol a site from a proposition.


        Withdraws the site from the proposition and prevents further scheduling.
        Does not delete the site or its assets.


        Use when the user is opting out of this proposition specifically — for
        example, they toggled it off in your app. The site and assets are kept,
        any other propositions they're enrolled in (such as Capacity Market) are
        unaffected, and the user can re-enrol later and still access their
        payments.


        If the user is leaving entirely (moving house, support-led removal,
        etc.), use `offboard-site-and-assets` instead.


        Idempotent: if the site is already unenrolled, returns
        `already_unenrolled` without making changes.
      operationId: unenrol_site_entities_site__site_id__unenrol_post
      parameters:
        - required: true
          schema:
            type: string
            format: uuid
            title: Site Id
          name: site_id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnenrolRequest'
        required: true
      responses:
        '200':
          description: Successfully unenrolled or already unenrolled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnenrolResponse'
        '404':
          description: Site not found or not authorized
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
      security:
        - OAuth2PasswordBearer: []
components:
  schemas:
    UnenrolRequest:
      properties:
        proposition:
          type: string
          enum:
            - limited_pause
            - full_asset_schedule_control
          title: Proposition
          description: Proposition to unenrol from
      type: object
      required:
        - proposition
      title: UnenrolRequest
      description: Request model for unenrolling a site from a proposition.
    UnenrolResponse:
      properties:
        site_id:
          type: string
          format: uuid
          title: Site Id
          description: ID of the unenrolled site
          examples:
            - a1b2c3d4-e5f6-7890-abcd-ef1234567890
        status:
          type: string
          enum:
            - unenrolled
            - already_unenrolled
          title: Status
          examples:
            - unenrolled
      type: object
      required:
        - site_id
        - status
      title: UnenrolResponse
      description: Response model for the unenrol endpoint.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: auth/token-form

````