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

# Person Investments API

> Retrieve every deal a person joined as an angel or lead partner, paginated.



## OpenAPI

````yaml openapi.json GET /person/deals
openapi: 3.0.3
info:
  title: Fundable API
  description: >-
    Canonical OpenAPI specification for the Fundable API. This file bundles the
    Deals, Companies, Investors, People, Alerts, Location, and Industry
    endpoints.
  version: 2.0.0
  contact:
    name: Fundable API Support
    url: mailto:jacob@tryfundable.ai
  license:
    name: Proprietary
    url: https://www.tryfundable.ai/terms/privacy/
servers:
  - url: https://www.tryfundable.ai/api/v1
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: deals
    description: Venture capital deals data
  - name: companies
    description: Company data, search, and discovery operations
  - name: investors
    description: Investor data and search operations
  - name: people
    description: People search and detail operations
  - name: alerts
    description: Saved alert configurations and deal data
  - name: locations
    description: Location search and utility operations
  - name: industries
    description: Industry and super category search operations
paths:
  /person/deals:
    get:
      summary: Get deals a person participated in (as an investor) by identifier
      description: >
        Retrieve all deals a person has participated in as an investor (angel
        deals + lead/firm deals)

        using any supported identifier format. The API intelligently detects the
        identifier type and queries accordingly.


        Provide ONE of the following query parameters to identify the person:

        - `id` - Person UUID

        - `linkedin` - LinkedIn person URL

        - `crunchbase` - Crunchbase person URL

        - `twitter` - Twitter/X URL


        The response includes the person's investment deals with pagination.
      operationId: getPersonDeals
      parameters:
        - name: id
          in: query
          required: false
          description: Person UUID
          schema:
            type: string
            format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: linkedin
          in: query
          required: false
          description: LinkedIn person URL
          schema:
            type: string
          example: https://www.linkedin.com/in/eladgil/
        - name: crunchbase
          in: query
          required: false
          description: Crunchbase person URL
          schema:
            type: string
          example: https://crunchbase.com/person/jane-doe
        - name: twitter
          in: query
          required: false
          description: Twitter/X URL
          schema:
            type: string
          example: https://x.com/janedoe
        - name: page
          in: query
          description: Page number (0-based)
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          example: 0
        - name: page_size
          in: query
          description: Number of results per page (1-500)
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 10
          example: 10
      responses:
        '200':
          description: Successful response with the person's deals
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      deals:
                        type: array
                        items:
                          type: object
                          description: >-
                            Deal record (same shape as deals returned by
                            `/api/v1/company/deals`)
                  meta:
                    type: object
                    properties:
                      total_count:
                        type: integer
                        example: 11
                      page:
                        type: integer
                        example: 0
                      page_size:
                        type: integer
                        example: 10
                required:
                  - success
                  - data
                  - meta
        '400':
          description: Validation error (missing or invalid identifier)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_IDENTIFIER
                          - INVALID_ID
                        example: MISSING_IDENTIFIER
                      message:
                        type: string
                      details:
                        type: object
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeopleAuthError'
        '402':
          description: Insufficient credits to complete request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeopleInsufficientCreditsError'
        '404':
          description: No person found matching the provided identifier
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - PERSON_NOT_FOUND
                        example: PERSON_NOT_FOUND
                      message:
                        type: string
                        example: Person not found
        '429':
          description: Rate limit exceeded (per-minute)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeopleRateLimitError'
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying
              schema:
                type: integer
                example: 60
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeopleServerError'
components:
  schemas:
    PeopleAuthError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - AUTH_ERROR
                - INVALID_API_KEY
                - INACTIVE_API_KEY
            message:
              type: string
            details:
              type: object
              properties:
                help:
                  type: string
    PeopleInsufficientCreditsError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: INSUFFICIENT_CREDITS
            message:
              type: string
            details:
              type: object
              properties:
                credits_needed:
                  type: integer
                  nullable: true
                monthly_credits_remaining:
                  type: integer
                purchased_credits_remaining:
                  type: integer
                help:
                  type: string
      required:
        - error
    PeopleRateLimitError:
      type: object
      description: Per-minute API rate limit exceeded
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: RATE_LIMIT_EXCEEDED
            message:
              type: string
              example: Rate limit exceeded. Maximum 200 requests per minute.
            details:
              type: object
              properties:
                limit:
                  type: integer
                  example: 200
                window:
                  type: string
                  example: 60 seconds
                help:
                  type: string
      required:
        - error
    PeopleServerError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: INTERNAL_SERVER_ERROR
            message:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key provided as a Bearer token

````