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

# Get an integrated provider

> One provider's access flows, each with its host, credential or x402 terms and ready-made feeds.



## OpenAPI

````yaml gateway-openapi.yaml GET /v1/providers/{providerId}
openapi: 3.1.0
info:
  contact: {}
  description: HTTP entry point to the Molpha oracle protocol.
  title: Molpha Gateway API
  version: '1.0'
  x-mint:
    metadata:
      description: >-
        Dispatch oracle rounds, collect threshold signatures, and return
        payloads for Solana, EVM, and Starknet verification.
servers:
  - url: https://gateway.molpha.io
    description: Devnet (SDK default)
security: []
tags:
  - name: health
    x-group: Health
    description: Liveness probes
  - name: gateway
    x-group: Gateway
    description: Gateway identity and the RequestAuth window
  - name: nodes
    x-group: Nodes
    description: Oracle node discovery
  - name: providers
    x-group: Providers
    description: Integrated data providers
  - name: round
    x-group: Subscription rounds
    description: Subscription and delegate execute path
  - name: session
    x-group: Sessions
    description: >-
      Sign-In-With-X sessions (served when `GET /v1/info` reports `sessionAuth`
      true)
  - name: x402
    x-group: x402 pay-per-request
    description: >-
      Pay-per-request path paid in USDC to the protocol treasury (requires a
      configured facilitator)
paths:
  /v1/providers/{providerId}:
    get:
      tags:
        - providers
      summary: Get an integrated provider
      description: >-
        One provider's access flows, each with its host, credential or x402
        terms and ready-made feeds.
      parameters:
        - name: providerId
          in: path
          required: true
          description: Provider ID, as listed by `GET /v1/providers`.
          schema:
            type: string
            example: tickerlayer
      responses:
        '200':
          description: Provider detail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderResponse'
        '404':
          description: Unknown or disabled provider
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: provider not found
components:
  schemas:
    ProviderResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        data:
          $ref: '#/components/schemas/ProviderDetail'
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: validation failed
    ProviderDetail:
      type: object
      properties:
        id:
          type: string
          example: tickerlayer
        name:
          type: string
          example: TickerLayer
        description:
          type: string
        docsUrl:
          type: string
        termsUrl:
          type: string
          description: The provider's data licence.
        disclosure:
          type: string
          description: How a value from this provider must be described to its users.
        aggregation:
          $ref: '#/components/schemas/ProviderAggregation'
        operations:
          type: array
          description: >-
            The provider routes the gateway acts on. Any other route of the
            provider is an ordinary source and never receives a sponsored
            credential.
          items:
            $ref: '#/components/schemas/ProviderOperation'
        flows:
          type: array
          description: >-
            The access flows the gateway can serve now, each with its own host
            and feeds.
          items:
            $ref: '#/components/schemas/ProviderFlow'
    ProviderAggregation:
      type: object
      description: The aggregation the provider's feeds require.
      properties:
        mode:
          type: string
          example: tolerance
        minSignatures:
          type: integer
          example: 3
        reason:
          type: string
    ProviderOperation:
      type: object
      description: A provider route the gateway acts on.
      properties:
        id:
          type: string
          example: crypto.trade_last
        assetClass:
          type: string
          example: crypto
        path:
          type: string
          description: >-
            Relative to the flow's `baseUrl` and `pathPrefix`; `:symbol` is its
            parameter.
          example: /crypto/trade/last/:symbol
        symbolExample:
          type: string
          example: BTCUSD
    ProviderFlow:
      type: object
      description: One way to access the provider.
      properties:
        kind:
          type: string
          enum:
            - api_key
            - x402
          example: x402
        baseUrl:
          type: string
          example: https://x402-testnet.tickerlayer.com
        pathPrefix:
          type: string
          description: Present only when the flow has one.
          example: /v1
        credential:
          allOf:
            - $ref: '#/components/schemas/ProviderCredential'
          description: Set for the `api_key` flow.
        x402:
          allOf:
            - $ref: '#/components/schemas/ProviderX402'
          description: Set for the `x402` flow.
        feeds:
          type: array
          items:
            $ref: '#/components/schemas/ProviderFeed'
    ProviderCredential:
      type: object
      description: How an `api_key` flow is authorized.
      properties:
        mode:
          type: string
          description: '`sponsored`: the gateway holds the key and the caller supplies none.'
          enum:
            - sponsored
          example: sponsored
        header:
          type: string
          description: Request header that carries the key.
          example: x-api-key
    ProviderX402:
      type: object
      description: >-
        The provider's x402 service. The caller pays the provider directly;
        prices and payee are the provider's own, in its `402` or its catalog.
      properties:
        scheme:
          type: string
          example: exact
        version:
          type: integer
          example: 2
        network:
          type: string
          example: eip155:84532
        asset:
          type: string
          example: '0x036CbD53842c5426634e7929541eC2318f3dCF7e'
        assetName:
          type: string
          example: USDC
        paymentModes:
          type: array
          description: '`per_node` means one payment per eligible node.'
          items:
            type: string
            enum:
              - per_node
          example:
            - per_node
        catalogUrl:
          type: string
    ProviderFeed:
      type: object
      description: >-
        A ready-made source. Send `apiConfig` as given; any change changes the
        `sourceId`.
      properties:
        id:
          type: string
          example: btcusd
        title:
          type: string
          example: BTC/USD last trade
        operation:
          type: string
          example: crypto.trade_last
        symbol:
          type: string
          example: BTCUSD
        sourceId:
          type: string
          description: Hex keccak256 of the canonical `apiConfig`.
        apiConfig:
          $ref: '#/components/schemas/ApiConfigRequest'
    ApiConfigRequest:
      type: object
      description: Off-chain HTTP API configuration. Its canonical hash is the source ID.
      required:
        - url
        - method
      properties:
        url:
          type: string
          description: Target API URL. Must use `http` or `https`.
          example: https://api.example.com/v1/price
        method:
          type: string
          description: >-
            HTTP method. Required: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`,
            `HEAD` or `OPTIONS`. It is hashed into the source ID as sent.
          example: GET
        headers:
          type: object
          description: >-
            Request headers. Use `{{secret.name}}` placeholders with
            `encKeyBundle` for private APIs.
          additionalProperties:
            type: string
          example: {}
        responseParser:
          type: string
          description: JSONPath expression to extract the value from the API response.
          example: $.data.price
        valueTransform:
          type: string
          description: Optional post-parse transform (e.g. `multiply:1e6`).
          example: multiply:1e6
        aggregation:
          allOf:
            - $ref: '#/components/schemas/AggregationRequest'
          description: >-
            Selects median tolerance mode. Omit it for exact mode. It is part of
            the source ID; `"mode":"exact"` is rejected.
    AggregationRequest:
      type: object
      description: >-
        Median tolerance policy. Nodes fetch independently, exclude observations
        more than `maxDeviationBps` from the lower median, and sign the lower
        median of the surviving values as a signed int256. Requires a quorum of
        at least 3.
      properties:
        mode:
          type: string
          enum:
            - tolerance
          example: tolerance
        rule:
          type: string
          enum:
            - median
          example: median
        maxDeviationBps:
          type: integer
          description: Largest allowed deviation from the lower median, in basis points.
          example: 50
        maxAgeMs:
          type: integer
          minimum: 1
          description: >-
            Largest allowed age of an observation, in milliseconds. Must be
            greater than 0.
          example: 2000
        numeric:
          $ref: '#/components/schemas/AggregationNumeric'
    AggregationNumeric:
      type: object
      description: How observed decimals become the signed integer.
      properties:
        type:
          type: string
          enum:
            - int256
          example: int256
        decimals:
          type: integer
          description: The signed value is scaled by `10^decimals`.
          example: 8

````

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