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

# Discover dynamic resolvers for a source

> Starts an asynchronous process to discover dynamic resolvers for the specified source. This process runs in the background. To check the status of the discovery process and retrieve the discovered resources, poll the `GET /v2/sources/{id}/resolvers` endpoint.




## OpenAPI

````yaml /api-spec-v2.yaml post /v2/sources/{id}/discover
openapi: 3.1.0
info:
  title: The Portable API
  description: This API allows you to interact with the Portable platform.
  version: 0.0.1
servers:
  - url: https://api.portable.io
security:
  - bearerAuth: []
paths:
  /v2/sources/{id}/discover:
    parameters:
      - $ref: '#/components/parameters/id'
    post:
      tags:
        - Sources
      summary: Discover dynamic resolvers for a source
      description: >
        Starts an asynchronous process to discover dynamic resolvers for the
        specified source. This process runs in the background. To check the
        status of the discovery process and retrieve the discovered resources,
        poll the `GET /v2/sources/{id}/resolvers` endpoint.
      operationId: discoverResolvers
      responses:
        '202':
          description: Accepted - Discovery process started
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/DiscoveryStatus'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  parameters:
    id:
      name: id
      in: path
      description: ID
      required: true
      schema:
        $ref: '#/components/schemas/id'
      example:
        - value: 568971
  schemas:
    DiscoveryStatus:
      type: object
      required:
        - status
        - timestamp
      properties:
        status:
          type: string
          enum:
            - in_progress
            - completed
            - failed
          description: The status of the discovery process.
        timestamp:
          type: string
          format: date-time
          description: When the status was last updated.
        error:
          type: string
          description: >-
            If the status is 'failed', this field will contain the error
            message.
        resolverCount:
          type: integer
          description: The number of resolvers discovered so far.
    id:
      type: integer
      format: int
      examples:
        - 568971
  responses:
    UnauthorizedError:
      description: Unauthorized - No valid API key provided.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
            examples:
              - message: Unauthorized
    ForbiddenError:
      description: Forbidden - You don't have enough permissions to access this resource.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
            examples:
              - message: Your current plan does not support this feature
    NotFoundError:
      description: Not Found - The requested resource does not exist.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
            examples:
              - message: Not Found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````