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

# List a workspace's people

> Workspace users are invited to one workspace and only see that one. Organization users open every workspace and are managed on the organization (`/api/v1/team`).

**Admin key** of the organization, or of the workspace itself. Standard keys get `403 admin_key_required`.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/workspaces/{id}/members
openapi: 3.1.0
info:
  title: Intent Leads API
  version: '1.0'
  description: >-
    The Intent Leads API finds B2B people actively researching the topics you
    sell into, and exports them with contact details into your own tools.


    **Authentication.** Send an API key as a bearer token: `Authorization:
    Bearer il_live_…`. Standard keys work with everything except billing, team
    and key management, which need an admin key.


    **Organizations and workspaces.** An organization holds the balance,
    invoices and people; lanes, leads, exports, lists, websites and webhooks
    live in its workspaces. A workspace key works in its workspace. An
    organization key manages workspaces, billing and people, and works in any of
    its workspaces with the header `Intent-Leads-Workspace: <workspace id>`.


    **What costs money.** Only `POST /api/v1/exports` with `"dry_run": false`
    spends your [balance](/guides/billing) (and website visitors as they're
    identified). Quotes, counts, checks, estimates, samples and re-downloads are
    free.


    **Errors.** Every error is JSON: `{"error": "code", "message":
    "Plain-English explanation"}`. Codes are stable; messages may change.


    **Conventions.** JSON by default. Dates are `YYYY-MM-DD` and timestamps ISO
    8601, all in UTC. Lane codes (`L1`) are case-insensitive.
servers:
  - url: https://intentleads.si
security:
  - bearerAuth: []
tags:
  - name: Exports
    description: Quote (free) and buy new people from your lanes, then download them.
  - name: Leads
    description: Pull and re-download the leads you've exported, and list deliveries.
  - name: Lanes
    description: >-
      Create, inspect and tune lanes: keywords plus the companies and roles you
      want.
  - name: Topics
    description: >-
      Topics we already track: live at once, with history. Use them before
      adding new keywords.
  - name: Keywords
    description: >-
      Add and remove a lane's keywords: existing topics, or new ones approved as
      their own topic.
  - name: Checks
    description: >-
      Free lane checks that size every filter step over 14 days, plus quick
      topic signals.
  - name: Company list
    description: >-
      The target-company list your lanes can narrow to or use instead of
      industries.
  - name: Exclusions
    description: Companies and people left out of every lane, before anything is bought.
  - name: Suppressions
    description: >-
      People you exported who later asked to be removed, by API or pushed to
      your webhook.
  - name: Webhooks
    description: >-
      Endpoints that receive events as they happen (removals, website visitors),
      signed, each with its own events, tests and delivery log.
  - name: Websites
    description: Identify the people who visit your websites.
  - name: Billing
    description: >-
      Your prepaid balance, prices and cost estimates (any key); top-ups and the
      monthly top-up (admin keys).
  - name: Team
    description: Members and invite links. Admin keys only.
  - name: Workspaces
    description: >-
      One workspace per client, all paid from your balance, with an optional
      monthly budget each; hand one over to the client.
  - name: API keys
    description: Create, rename, rotate and revoke API keys. Admin keys only.
  - name: Account
    description: Check which organization a key belongs to, and rename it.
  - name: Reference
    description: Valid values for lane filters.
  - name: Activity
    description: A feed of changes and events in your organization.
paths:
  /api/v1/workspaces/{id}/members:
    get:
      tags:
        - Workspaces
      summary: List a workspace's people
      description: >-
        Workspace users are invited to one workspace and only see that one.
        Organization users open every workspace and are managed on the
        organization (`/api/v1/team`).


        **Admin key** of the organization, or of the workspace itself. Standard
        keys get `403 admin_key_required`.
      operationId: listWorkspaceMembers
      parameters:
        - name: id
          in: path
          required: true
          description: The workspace id.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Everyone who can open the workspace, and its open invites.
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                      - name
                  members:
                    type: array
                    items:
                      type: object
                      properties:
                        user_id:
                          type: string
                          format: uuid
                        email:
                          type: string
                          format: email
                        role:
                          type: string
                          enum:
                            - owner
                            - member
                          description: >-
                            Their role here: owner if any of their access makes
                            them one.
                        level:
                          type: string
                          enum:
                            - workspace
                            - org
                            - both
                          description: >-
                            `workspace`: invited to this workspace; `org`:
                            through the organization (change them there);
                            `both`.
                        workspace_role:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Their role from a workspace invite, if they have
                            one.
                        org_role:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Their role in the organization, if they have access
                            through it.
                        joined_at:
                          type: string
                          format: date-time
                      required:
                        - user_id
                        - email
                        - role
                        - level
                        - workspace_role
                        - org_role
                        - joined_at
                  invites:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invite'
                  note:
                    type: string
                required:
                  - workspace
                  - members
                  - invites
                  - note
              example:
                workspace:
                  id: 6f1d2c3b-4a5e-4f60-8172-93a4b5c6d7e8
                  name: Acme Medical
                members:
                  - user_id: 3b8e1f42-9d6a-4c2e-b7f0-5a1c9e8d2b67
                    email: jordan.lee@example.com
                    role: owner
                    level: org
                    workspace_role: null
                    org_role: owner
                    joined_at: '2026-10-14T06:12:41.528311+00:00'
                  - user_id: c41d7e90-2a3b-4f5c-8d6e-9f0a1b2c3d4e
                    email: jo.patel@client.example
                    role: member
                    level: workspace
                    workspace_role: member
                    org_role: null
                    joined_at: '2026-10-14T06:12:41.528311+00:00'
                invites: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/AdminKeyRequired'
        '404':
          description: Not one of your workspaces.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                workspace_not_found:
                  value:
                    error: workspace_not_found
                    message: No such workspace in your organization.
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    Invite:
      type: object
      properties:
        id:
          type: integer
          description: Invite id, for revoking.
        email:
          type:
            - string
            - 'null'
          description: Who the link is meant for. A label only; not enforced.
        role:
          type: string
          enum:
            - owner
            - member
        created_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
      required:
        - id
        - email
        - role
        - created_at
        - expires_at
    Error:
      type: object
      properties:
        error:
          type: string
          example: lane_not_found
          description: Stable machine-readable code, e.g. `lane_not_found`.
        message:
          type: string
          example: No lane L9.
          description: Plain-English explanation you can show to a person.
      required:
        - error
        - message
      description: Every error has this shape.
  responses:
    Unauthorized:
      description: Missing, malformed, unknown or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            unauthorized:
              value:
                error: unauthorized
                message: 'Send a valid API key as: Authorization: Bearer il_live_…'
    AdminKeyRequired:
      description: This endpoint needs an admin key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            admin_key_required:
              value:
                error: admin_key_required
                message: >-
                  This needs an admin API key. Owners create one under Settings
                  → API keys.
    InternalError:
      description: >-
        Unexpected server error. Safe to retry reads; retry an export only with
        the same `idempotency_key`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            internal_error:
              value:
                error: internal_error
                message: Something went wrong. Try again.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: il_live_…
      description: >-
        An Intent Leads API key, e.g. `il_live_` followed by 32 letters and
        digits. Create one on the API and CLI page of the dashboard.

````

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