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

# تعطيل الترخيص

> تسمح لك هذه النقطة النهائية بتعطيل ترخيص المستخدم.

<Info>
  **لا يتطلب مفتاح API**: هذا هو نقطة نهاية عامة لا تتطلب مصادقة. يمكنك استدعاؤها مباشرةً من تطبيقات العميل أو برامج سطح المكتب أو أدوات سطر الأوامر لتعطيل مفاتيح الترخيص دون الكشف عن بيانات اعتماد API الخاصة بك.
</Info>


## OpenAPI

````yaml post /licenses/deactivate
openapi: 3.1.0
info:
  title: public
  description: ''
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 1.106.2
servers:
  - url: https://test.dodopayments.com/
    description: Test Mode Server Host
  - url: https://live.dodopayments.com/
    description: Live Mode Server Host
security: []
tags:
  - name: Products
  - name: Payments
  - name: Subscriptions
  - name: Addons
  - name: Customers
  - name: Refunds
  - name: Disputes
  - name: Events
  - name: License Keys
  - name: Entitlements
  - name: Licenses
  - name: Discounts
  - name: Meters
  - name: Credit Entitlements
  - name: Credit Entitlement Balances
  - name: Outgoing Webhooks
  - name: Checkout
  - name: Webhook Events
  - name: Payment Connector Webhooks
paths:
  /licenses/deactivate:
    post:
      tags:
        - Licenses
      operationId: deactivate_license_key
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeactivateLicenseKeyRequest'
        required: true
      responses:
        '200':
          description: License key instance deactivated successfully
        '403':
          description: >-
            License key instance not found or does not belong to this license
            key
        '404':
          description: License key not found
        '500':
          description: Something went wrong :(
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import DodoPayments from 'dodopayments';

            const client = new DodoPayments({
              bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted
            });

            await client.licenses.deactivate({
              license_key: 'license_key',
              license_key_instance_id: 'license_key_instance_id',
            });
        - lang: Python
          source: |-
            import os
            from dodopayments import DodoPayments

            client = DodoPayments(
                bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"),  # This is the default and can be omitted
            )
            client.licenses.deactivate(
                license_key="license_key",
                license_key_instance_id="license_key_instance_id",
            )
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\n\t\"github.com/dodopayments/dodopayments-go\"\n\t\"github.com/dodopayments/dodopayments-go/option\"\n)\n\nfunc main() {\n\tclient := dodopayments.NewClient(\n\t\toption.WithBearerToken(\"My Bearer Token\"),\n\t)\n\terr := client.Licenses.Deactivate(context.TODO(), dodopayments.LicenseDeactivateParams{\n\t\tLicenseKey:           dodopayments.F(\"license_key\"),\n\t\tLicenseKeyInstanceID: dodopayments.F(\"license_key_instance_id\"),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n}\n"
        - lang: Java
          source: |-
            package com.dodopayments.api.example;

            import com.dodopayments.api.client.DodoPaymentsClient;
            import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient;
            import com.dodopayments.api.models.licenses.LicenseDeactivateParams;

            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    DodoPaymentsClient client = DodoPaymentsOkHttpClient.fromEnv();

                    LicenseDeactivateParams params = LicenseDeactivateParams.builder()
                        .licenseKey("license_key")
                        .licenseKeyInstanceId("license_key_instance_id")
                        .build();
                    client.licenses().deactivate(params);
                }
            }
        - lang: Kotlin
          source: |-
            package com.dodopayments.api.example

            import com.dodopayments.api.client.DodoPaymentsClient
            import com.dodopayments.api.client.okhttp.DodoPaymentsOkHttpClient
            import com.dodopayments.api.models.licenses.LicenseDeactivateParams

            fun main() {
                val client: DodoPaymentsClient = DodoPaymentsOkHttpClient.fromEnv()

                val params: LicenseDeactivateParams = LicenseDeactivateParams.builder()
                    .licenseKey("license_key")
                    .licenseKeyInstanceId("license_key_instance_id")
                    .build()
                client.licenses().deactivate(params)
            }
        - lang: Ruby
          source: |-
            require "dodopayments"

            dodo_payments = Dodopayments::Client.new(
              bearer_token: "My Bearer Token",
              environment: "test_mode" # defaults to "live_mode"
            )

            result = dodo_payments.licenses.deactivate(
              license_key: "license_key",
              license_key_instance_id: "license_key_instance_id"
            )

            puts(result)
        - lang: PHP
          source: |-
            <?php

            require_once dirname(__DIR__) . '/vendor/autoload.php';

            use Dodopayments\Client;
            use Dodopayments\Core\Exceptions\APIException;

            $client = new Client(
              bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token',
              environment: 'test_mode',
            );

            try {
              $result = $client->licenses->deactivate(
                licenseKey: 'license_key', licenseKeyInstanceID: 'license_key_instance_id'
              );

              var_dump($result);
            } catch (APIException $e) {
              echo $e->getMessage();
            }
        - lang: C#
          source: |-
            using DodoPayments.Client;
            using DodoPayments.Client.Models.Licenses;

            DodoPaymentsClient client = new();

            LicenseDeactivateParams parameters = new()
            {
                LicenseKey = "license_key",
                LicenseKeyInstanceID = "license_key_instance_id",
            };

            await client.Licenses.Deactivate(parameters);
        - lang: Rust
          source: |-
            use dodopayments::Client;

            #[tokio::main]
            async fn main() -> dodopayments::Result<()> {
                let client = Client::from_env()?;
                let result = client
                    .licenses()
                    .deactivate()
                    .body(dodopayments::models::LicensesDeactivateParams {
                            license_key: Some("license_key".to_string()),
                            license_key_instance_id: Some("license_key_instance_id".to_string()),
                            ..Default::default()
                        })
                    .await?;
                println!("{result:?}");
                Ok(())
            }
components:
  schemas:
    DeactivateLicenseKeyRequest:
      type: object
      required:
        - license_key
        - license_key_instance_id
      properties:
        license_key:
          type: string
        license_key_instance_id:
          type: string

````