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

# Get a specific offer

> Retrieve details of a specific offer you created.



## OpenAPI

````yaml /openapi/openapi-provider.json get /provider/offers/{id}
openapi: 3.0.0
info:
  title: OfferGrid API
  description: >-
    **Provider API** - Create and manage service offerings, fulfill orders from
    resellers.


    As a provider, you can:

    - Create and publish service offerings (internet, electricity)

    - Control which resellers can access your offers (all, preferred, or
    selected)

    - View and manage orders from resellers

    - Update order fulfillment status and schedule installations

    - Track order lifecycle from pending to completion
  version: '1.0'
  contact: {}
servers:
  - url: https://api.offergrid.io
    description: Production
  - url: http://localhost:3000
    description: Local development
security: []
tags:
  - name: provider-offers
    description: 'Provider: Manage your service offerings'
  - name: provider-orders
    description: 'Provider: Fulfill orders from resellers'
paths:
  /provider/offers/{id}:
    get:
      tags:
        - provider-offers
      summary: Get a specific offer
      description: Retrieve details of a specific offer you created.
      operationId: ProviderOffersController_findOne
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Offer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferResponse'
        '404':
          description: Offer not found or does not belong to your team
      security:
        - api-key: []
components:
  schemas:
    OfferResponse:
      type: object
      title: Offer
      description: >-
        An offer. Always includes a top-level `serviceType` discriminator
        ("electricity", "internet", …); electricity offers additionally include
        a grouped `electricity` object and internet offers a grouped `internet`
        object. The underlying offer fields (name, status, markets, marketing,
        pricing, …) are also present.
      additionalProperties: true
      properties:
        serviceType:
          type: string
          nullable: true
          description: >-
            Flat service-type discriminator derived from category. Check this
            instead of `category` directly.
          example: internet
        electricity:
          allOf:
            - $ref: '#/components/schemas/ElectricityContract'
          description: Present only on electricity offers.
        internet:
          allOf:
            - $ref: '#/components/schemas/InternetContract'
          description: Present only on internet offers.
    ElectricityContract:
      type: object
      properties:
        rate:
          type: object
          properties:
            type:
              type: string
              enum:
                - fixed
                - variable
                - indexed
            charges:
              type: array
              items:
                $ref: '#/components/schemas/ElectricityCharge'
            avgPriceAt1000Kwh:
              type: number
              minimum: 0
            estimatedMonthlyAt1000Kwh:
              nullable: true
              type: number
              minimum: 0
              readOnly: true
          additionalProperties: false
        term:
          type: object
          properties:
            length:
              type: string
              enum:
                - no_contract
                - month_to_month
                - months_12
                - months_24
                - months_36
            earlyTerminationFee:
              nullable: true
              type: number
              minimum: 0
            earlyTerminationFeeNotes:
              nullable: true
              type: string
          additionalProperties: false
        plan:
          type: object
          properties:
            renewablePercentage:
              type: number
              minimum: 0
              maximum: 100
            freeNightsWeekends:
              type: boolean
            noDeposit:
              type: boolean
          additionalProperties: false
        disclosures:
          type: object
          properties:
            electricityFactsLabel:
              type: object
              properties:
                url:
                  anyOf:
                    - type: string
                      format: uri
                    - type: string
                      enum:
                        - ''
                versionId:
                  type: string
                avgPrice500kwh:
                  type: number
                  minimum: 0
                avgPrice1000kwh:
                  type: number
                  minimum: 0
                avgPrice2000kwh:
                  type: number
                  minimum: 0
                renewablePercent:
                  type: number
                  minimum: 0
                  maximum: 100
              additionalProperties: false
            puctCertNumber:
              type: string
            puctCertifiedName:
              type: string
            termsOfServiceUrl:
              anyOf:
                - type: string
                  format: uri
                - type: string
                  enum:
                    - ''
            yourRightsUrl:
              anyOf:
                - type: string
                  format: uri
                - type: string
                  enum:
                    - ''
          additionalProperties: false
      additionalProperties: false
      title: Electricity Contract
      description: >-
        The electricity offer payload returned on read. Same shape as the write
        contract plus the derived, read-only `rate.estimatedMonthlyAt1000Kwh`
        headline.
    InternetContract:
      type: object
      properties:
        speed:
          type: object
          properties:
            minBandwidthMbps:
              type: number
              minimum: 0
            maxBandwidthMbps:
              type: number
              minimum: 0
            connectionType:
              type: string
              enum:
                - fiber
                - cable
                - dsl
                - satellite
                - fixed_wireless
                - 5g_home
          additionalProperties: false
        data:
          type: object
          properties:
            capGb:
              type: number
              minimum: 0
          additionalProperties: false
        term:
          type: object
          properties:
            length:
              type: string
              enum:
                - no_contract
                - month_to_month
                - months_12
                - months_24
                - months_36
            earlyTerminationFee:
              nullable: true
              type: number
              minimum: 0
            earlyTerminationFeeNotes:
              nullable: true
              type: string
          additionalProperties: false
        disclosures:
          type: object
          properties:
            broadbandLabel:
              type: object
              properties:
                url:
                  anyOf:
                    - type: string
                      format: uri
                    - type: string
                      enum:
                        - ''
                typicalDownload:
                  type: number
                  minimum: 0
                typicalUpload:
                  type: number
                  minimum: 0
                typicalLatency:
                  type: number
                  minimum: 0
                dataCapGb:
                  nullable: true
                  type: number
                  minimum: 0
              additionalProperties: false
            networkManagementUrl:
              anyOf:
                - type: string
                  format: uri
                - type: string
                  enum:
                    - ''
          additionalProperties: false
      additionalProperties: false
      title: Internet Contract
      description: >-
        The internet offer payload returned on read — the grouped speed / data /
        term / disclosures view of an internet offer.
    ElectricityCharge:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - perKwh
            centsPerKwh:
              type: number
              minimum: 0
            owner:
              type: string
              enum:
                - provider
                - utility
            label:
              type: string
              minLength: 1
            minUsageKwh:
              type: number
              minimum: 0
            maxUsageKwh:
              type: number
              minimum: 0
          required:
            - type
            - centsPerKwh
            - owner
            - label
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - fixed
            amountDollars:
              type: number
              minimum: 0
            owner:
              type: string
              enum:
                - provider
                - utility
            label:
              type: string
              minLength: 1
            minUsageKwh:
              type: number
              minimum: 0
            maxUsageKwh:
              type: number
              minimum: 0
          required:
            - type
            - amountDollars
            - owner
            - label
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - credit
            amountDollars:
              type: number
              minimum: 0
            owner:
              type: string
              enum:
                - provider
                - utility
            label:
              type: string
              minLength: 1
            minUsageKwh:
              type: number
              minimum: 0
            maxUsageKwh:
              type: number
              minimum: 0
          required:
            - type
            - amountDollars
            - owner
            - label
          additionalProperties: false
      title: Electricity Charge
      description: >-
        A single provider (REP) or utility delivery (TDU) charge line. perKwh
        lines bill per kWh in an optional usage band; fixed/credit lines apply a
        flat dollar amount (credits entered positive, subtracted).
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Team API key for authentication. Your team role
        (provider/reseller/hybrid) determines which endpoints you can access.

````