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

# Stop keeping the data of a partner's compositions in its own database

> Removes the partner's database from Widgetic: Widgetic forgets the connection string, and from then on the data
of the partner's compositions is kept in Widgetic's database again. Nothing in your database is deleted.

Removing is refused with 409 `PARTNER_DATABASE_HOLDS_DATA` while any composition of the partner keeps its data in
your database: it would read as empty from then on, and what it holds would stay where nothing reads it. Delete
the compositions you no longer need, or keep the database. If Widgetic cannot check what your database holds
(it cannot be reached) the answer is 503 `PARTNER_DATABASE_UNAVAILABLE`; check it with
`verifyPartnerDataDatabase`, or set the same database again to repair its connection.

Removing a database the partner does not have is not an error: the answer is `removed: false`.

This needs an API key with full access. The caller must be the person who administers the partner, or a
Widgetic administrator.




## OpenAPI

````yaml /openapi/widgetic-api-public.json delete /partners/{partnerId}/data-database
openapi: 3.0.0
info:
  title: Widgetic API Gateway
  version: 1.0.0
  description: API documentation for the Widgetic API Gateway
  license:
    name: Widgetic Integration License
    url: https://docs.widgetic.com/resources/license
servers:
  - url: https://api.widgetic.com/v1
    description: Production server
    variables:
      env:
        default: production
        description: Environment
      apiUrl:
        default: https://api.widgetic.com
        description: API URL
      apiVersion:
        default: /v1
        description: API Version path prefix
security: []
tags: []
paths:
  /partners/{partnerId}/data-database:
    delete:
      tags:
        - Partners
      summary: Stop keeping the data of a partner's compositions in its own database
      description: >
        Removes the partner's database from Widgetic: Widgetic forgets the
        connection string, and from then on the data

        of the partner's compositions is kept in Widgetic's database again.
        Nothing in your database is deleted.


        Removing is refused with 409 `PARTNER_DATABASE_HOLDS_DATA` while any
        composition of the partner keeps its data in

        your database: it would read as empty from then on, and what it holds
        would stay where nothing reads it. Delete

        the compositions you no longer need, or keep the database. If Widgetic
        cannot check what your database holds

        (it cannot be reached) the answer is 503 `PARTNER_DATABASE_UNAVAILABLE`;
        check it with

        `verifyPartnerDataDatabase`, or set the same database again to repair
        its connection.


        Removing a database the partner does not have is not an error: the
        answer is `removed: false`.


        This needs an API key with full access. The caller must be the person
        who administers the partner, or a

        Widgetic administrator.
      operationId: removePartnerDataDatabase
      parameters:
        - in: path
          name: partnerId
          required: true
          schema:
            type: string
            format: uuid
          description: The partner whose database to remove
      responses:
        '200':
          description: Whether a database was removed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerDataDatabaseRemovalResponse'
        '401':
          description: The API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            The caller does not administer this partner, or the API key has not
            full access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            Compositions of the partner keep their data in this database
            (PARTNER_DATABASE_HOLDS_DATA). Nothing was changed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Too many changes in a short time. Try again after the Retry-After
            seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: >-
            Widgetic could not check what the database holds
            (PARTNER_DATABASE_UNAVAILABLE). Nothing was changed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKeyAuth: []
      x-code-samples:
        - lang: TypeScript
          label: TypeScript SDK
          source: >
            import { Configuration, PartnersApi } from '@widgetic/api-sdk-ts';


            const partnersApi = new PartnersApi(new Configuration({ apiKey:
            'YOUR_API_KEY' }));


            const { data: { removed } } = await
            partnersApi.removePartnerDataDatabase({ partnerId });
components:
  schemas:
    PartnerDataDatabaseRemovalResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          description: Always `true` on a success.
          example: true
        data:
          $ref: '#/components/schemas/PartnerDataDatabaseRemoval'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    ErrorResponse:
      type: object
      required:
        - success
        - message
        - error
      additionalProperties: true
      properties:
        success:
          type: boolean
          description: Always `false` on a failure.
          example: false
        message:
          type: string
          description: The same text as `error.message`, for a caller that reads one line.
        error:
          $ref: '#/components/schemas/ErrorDetail'
    PartnerDataDatabaseRemoval:
      type: object
      required:
        - removed
      properties:
        removed:
          type: boolean
          description: False when the partner had no database of its own to remove
      example:
        removed: true
    ResponseMeta:
      type: object
      description: >-
        Extra information about the answer: where a page sits in a list, the
        cursor of the next page, or warnings about a call that succeeded with a
        caveat.
      additionalProperties: true
      properties:
        page:
          type: integer
          description: The page that was read, counting from 1.
          example: 1
        size:
          type: integer
          description: How many items one page holds.
          example: 20
        total:
          type: integer
          description: How many items the whole list has.
          example: 135
        limit:
          type: integer
          description: The same as `size`.
          example: 20
        offset:
          type: integer
          description: How many items come before this page.
          example: 0
        hasNextPage:
          type: boolean
          example: true
        hasPreviousPage:
          type: boolean
          example: false
        nextCursor:
          type: string
          nullable: true
          description: >-
            Pass this as `cursor` to read the next page of a list that is read
            by cursor. `null` on the last page.
        warnings:
          type: array
          items:
            type: string
          description: >-
            Things the call did not do, though it succeeded (for example a table
            that could not be created just now).
    ErrorDetail:
      type: object
      required:
        - code
        - message
        - timestamp
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: RESOURCE_NOT_FOUND
        message:
          type: string
          description: Human-readable explanation.
          example: Composition not found
        param:
          type: string
          description: The field that caused the error, when one did.
          example: name
        docUrl:
          type: string
          description: Where this error is explained.
        suggestedAction:
          type: string
          description: What to do about it.
        retryAfter:
          type: integer
          description: >-
            Seconds to wait before trying again (rate limits). The same number
            is in the `Retry-After` header.
          example: 60
        details:
          type: object
          additionalProperties: true
          description: >-
            More about the error: the fields that failed, a limit that was
            reached.
        correlationId:
          type: string
          description: Quote this when you ask support about the call.
          example: req_123e4567-e89b-12d3-a456-426614174000
        timestamp:
          type: string
          format: date-time
          example: '2026-10-15T10:00:00.000Z'
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

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