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

# Get a partner's contract

> Returns the commercial terms agreed with the partner: price, included credits and storage, billing
cycle, commitment, support level, and the dates the contract runs between.

A partner reads its own: the caller must be the person who administers the partner (an API key of
that account works), and anyone else is refused with 403 whether or not the partner exists. Widgetic
administrators can read any partner's. Responds 404 while no contract has been recorded for the
partner, which is the case until Widgetic sets its terms.




## OpenAPI

````yaml /openapi/widgetic-api-public.json get /partners/{partnerId}/contract
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}/contract:
    get:
      tags:
        - Partners
      summary: Get a partner's contract
      description: >
        Returns the commercial terms agreed with the partner: price, included
        credits and storage, billing

        cycle, commitment, support level, and the dates the contract runs
        between.


        A partner reads its own: the caller must be the person who administers
        the partner (an API key of

        that account works), and anyone else is refused with 403 whether or not
        the partner exists. Widgetic

        administrators can read any partner's. Responds 404 while no contract
        has been recorded for the

        partner, which is the case until Widgetic sets its terms.
      operationId: getPartnerContract
      parameters:
        - in: path
          name: partnerId
          required: true
          schema:
            type: string
            format: uuid
          description: The partner whose contract to read
      responses:
        '200':
          description: The partner's contract
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerContractResponse'
        '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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No contract has been recorded for this partner
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKeyAuth: []
components:
  schemas:
    PartnerContractResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          description: Always `true` on a success.
          example: true
        data:
          $ref: '#/components/schemas/PartnerContract'
        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'
    PartnerContract:
      type: object
      description: >
        The commercial terms agreed with a partner. Prices are in dollars.
        Internal negotiation notes and the staff members who edited the record
        are not part of it.
      properties:
        id:
          type: string
          format: uuid
        partnerId:
          type: string
          format: uuid
        customPrice:
          type: number
          nullable: true
          description: >-
            The agreed price per `billingCycle`; null when the standard price
            applies
        customCredits:
          type: integer
          nullable: true
          description: >-
            Credits received each billing period (`billingCycle`); null when the
            standard allowance applies
        creditPriceUsd:
          type: number
          nullable: true
          description: >-
            The agreed price of one credit, in dollars; null when the list price
            applies
        effectiveCreditPriceUsd:
          type: number
          description: >-
            What one credit costs you, in dollars. The agreed price, or the list
            price when none was agreed
        periodTotalUsd:
          type: number
          nullable: true
          description: >-
            What one billing period costs, in dollars before tax,
            `customCredits` times `effectiveCreditPriceUsd`. Null while no
            credits were agreed
        additionalFeatures:
          type: array
          items:
            type: string
          description: Features included beyond the standard partner plan
        billingCycle:
          type: string
          enum:
            - monthly
            - quarterly
            - annual
        minimumCommitmentMonths:
          type: integer
        supportSla:
          type: string
          example: 99.9%
        contractStartDate:
          type: string
          format: date
          nullable: true
        contractEndDate:
          type: string
          format: date
          nullable: true
          description: Null when the contract runs until it is ended
        isActiveContract:
          type: boolean
          description: >-
            True while the contract is in force, that is when it is open-ended
            or today falls between its start and end
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      example:
        id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        partnerId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        customPrice: 42
        customCredits: 42
        creditPriceUsd: 42
        effectiveCreditPriceUsd: 42
        periodTotalUsd: 42
        additionalFeatures: []
        billingCycle: Example billingCycle
        minimumCommitmentMonths: 42
        supportSla: 99.9%
        contractStartDate: Example contractStartDate
        contractEndDate: Example contractEndDate
        isActiveContract: true
        createdAt: '2026-01-15T09:30:00.000Z'
        updatedAt: '2026-01-15T09:30:00.000Z'
    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.