> This page is for version v1 (default).
> For other versions, use one of these documentation indexes:
> - v1 (default): https://docs.rightbrain.ai/v-1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.rightbrain.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rightbrain.ai/_mcp/server.

# List Project TaskAgent Shares

GET https://app.rightbrain.ai/api/v1/org/{org_id}/project/{project_id}/task_agent_share

List TaskAgent shares in a project.

TaskAgent shares are public share records scoped to the requested project. The
endpoint does not expose share-specific IAM.

Reference: https://docs.rightbrain.ai/api-reference/api-reference/agents/agent-shares/list-project-task-agent-shares

## Authentication

- `Authorization` header (bearer token, required) — API key or access token, sent as `Authorization: Bearer <token>`. The simplest option: create an API key in your dashboard under Settings, then paste it here.

## Servers

- `https://app.rightbrain.ai/api/v1` (Production, default)
- `https://app.rightbrain.ai/api/v1` (Staging API)
- `https://app.rblocal.dev/api/v1` (Local development)

## Request

### Path parameters

- `org_id` (string, required) — The organization ID
- `project_id` (string, required) — The project ID

### Query parameters

- `active` (boolean, optional, nullable) — Filter by active status
- `task_agent_id` (string, optional, nullable) — Filter by specific TaskAgent ID
- `task_agent_name` (string, optional, nullable) — Filter by TaskAgent name (partial, case-insensitive)
- `cursor` (string, optional, nullable) — A cursor for pagination. Use the `next_cursor` value from the previous response to get the next page of results.
- `page_limit` (integer, optional, default: 100) — The maximum number of items to return per page. Defaults to `100` if not specified.

## Response

### 200

Paginated list of TaskAgent shares

- `results` (list of TaskAgentShare, required) — The list of items returned for the current page.
- `pagination` (PaginationDetails, optional, nullable) — Contains pagination information for the result set.

## Errors

### 400 Bad Request Error

Bad Request

- `detail` (MalformedResourceIdentifierErrorPayload, required) — The error payload.

### 401 Unauthorized Error

Unauthorized - Authentication failed **Common causes:** - Missing `Authorization` header - Expired access token - Invalid or malformed token - Using API key in wrong format **Resolution:** Ensure you're including a valid Bearer token or API key in the Authorization header.

- `detail` (ErrorResponseDetail, required) — A plain error message, a list of field-level validation errors, a service validation error, or a domain error object with `reason` and `message`.

### 403 Forbidden Error

Forbidden - Insufficient permissions for project **Common causes:** - Your role lacks the required permission for this action - The project belongs to a different organization or project - The action requires admin or owner privileges **Resolution:** Contact your organization admin to request appropriate access.

- `ListProjectTaskAgentSharesRequestForbiddenError`

### 404 Not Found Error

Project not found

- `detail` (ErrorResponseDetail, required) — A plain error message, a list of field-level validation errors, a service validation error, or a domain error object with `reason` and `message`.

### 422 Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

### TaskAgentShare

Authenticated TaskAgent share response.

- `id` (string, required)
- `project_id` (string, required)
- `task_agent_id` (string, required)
- `task_agent_revision_id` (string, required)
- `user_id` (string, required)
- `task_agent_name` (string, required)
- `short_id` (string, required)
- `views_count` (integer, required)
- `active` (boolean, required)
- `created` (string, required)
- `share_url` (string, required)
- `title` (string, optional, nullable)
- `description` (string, optional, nullable)
- `expires_at` (string, optional, nullable)
- `modified` (string, optional, nullable)
- `tags` (list of Tag, optional)

### PaginationDetails

- `next_cursor` (string, optional, nullable) — A token used to retrieve the next page of results. If `null`, there are no more results.
- `has_next` (boolean, optional, nullable, default: false) — Indicates whether there are more results available in the next page.
- `page_limit` (integer, optional, nullable, default: 0) — The maximum number of items returned per page.

### MalformedResourceIdentifierErrorPayload

- `message` (string, required) — Human readable representation of the error
- `reason` (enum, required) — The machine-readable error reason.
  - Allowed values: `MALFORMED_RESOURCE_IDENTIFIER`
- `malformedResourceIdentifierError` (MalformedResourceIdentifierErrorDetails, required) — Metadata detailing more information about the error.

### ErrorResponseDetail

A plain error message, a list of field-level validation errors, a service validation error, or a domain error object with `reason` and `message`.

### PermissionCheckFailedErrorResponse

- `detail` (PermissionCheckFailedErrorPayload, required) — The error payload.

### MissingAuthenticationErrorResponse

- `detail` (MissingAuthenticationErrorPayload, required) — The error payload.

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)
- `input` (any, optional)
- `ctx` (ValidationErrorCtx, optional)

### Tag

- `name` (string, required) — Alphanumeric name for the tag (max 15 characters). Used to organize and filter Tasks and Task Revisions.
- `entity_type` (enum, required) — The type of entity this tag applies to (task, task_revision, task_share, skill, task_agent_revision, or task_agent_share)
  - Allowed values: `task`, `task_revision`, `task_share`, `skill`, `task_agent_revision`, `task_agent_share`
- `id` (string, required) — Unique identifier for the tag.
- `created_at` (string, required) — ISO 8601 timestamp when the tag was created.
- `is_project_tag` (boolean, required) — When true, indicates this is a project-level tag that can be used across multiple entity types.
- `is_global_tag` (boolean, required) — When true, indicates this is a global tag that is not scoped to a project.
- `description` (string, optional, nullable) — Optional description for the tag.
- `parent_id` (string, optional, nullable) — Optional UUID of a parent tag. Used to create hierarchical tag structures (e.g., staging under production).
- `project_id` (string, optional, nullable) — Project this tag belongs to. Null means the tag is global.
- `children` (list of Tag, optional, default: []) — List of child tags if this tag is used as a parent in a hierarchical structure.
- `tagged_entities` (list of string, optional, default: []) — List of entity IDs this tag is associated with.

### MalformedResourceIdentifierErrorDetails

- `field` (string, required)
- `value` (any, required)
- `expected_format` (string, required)

### ErrorResponseDetail2

Validation error returned by a service after request parsing, such as a Task clone dependency failure.

- `type` ("validation_error", required)
- `errors` (list of ErrorResponseDetailOneOf2ErrorsItems, required)

### ErrorResponseDetail3

Domain error raised via a brain.exc.BaseError subclass. The exact extra field name and shape vary by error type.

- `reason` (string, required) — Machine-readable, upper-snake-case error reason, e.g. RESOURCE_NOT_FOUND, PERMISSION_CHECK_FAILED, TAG_NAME_CONFLICT.
- `message` (string, required) — Human-readable error message

### ErrorResponseDetail4

Integration precondition failure. Uses `code` rather than `reason`, and carries no extra field. Raised by the Gmail trigger routes when the underlying integration is not authorized.

- `code` (string, required) — Machine-readable code, e.g. GMAIL_INTEGRATION_AUTH_REQUIRED.
- `message` (string, required) — Human-readable error message

### PermissionCheckFailedErrorPayload

- `message` (string, required) — Human readable representation of the error
- `reason` (enum, required) — The machine-readable error reason.
  - Allowed values: `PERMISSION_CHECK_FAILED`
- `permissionCheckFailedError` (PermissionCheckFailedErrorDetails, required) — Metadata detailing more information about the error.

### MissingAuthenticationErrorPayload

- `message` (string, required) — Human readable representation of the error
- `reason` (enum, required) — The machine-readable error reason.
  - Allowed values: `MISSING_AUTHENTICATION`
- `missingAuthenticationError` (EmptyErrorDetails, required) — Metadata detailing more information about the error.

### ValidationErrorLocItems

### ValidationErrorCtx

### ErrorResponseDetailOneOf2ErrorsItems

- `type` (string, required) — Error type identifier
- `loc` (list of ErrorResponseDetailOneOf2ErrorsItemsLocItems, optional) — Path to the error location. Integer segments index into a list.
- `msg` (string, optional) — Human-readable error message. Present on errors produced by FastAPI's own request validation.
- `message` (string, optional) — Human-readable error message. Used instead of `msg` by Rightbrain's own validators.

### PermissionCheckFailedErrorDetails

- `permission` (string, required)
- `subject` (IAMObjectErrorDetails, optional, nullable)
- `resource` (IAMObjectErrorDetails, optional, nullable)

### EmptyErrorDetails

### ErrorResponseDetailOneOf2ErrorsItemsLocItems

### IAMObjectErrorDetails

- `type` (string, required)
- `id` (string, optional, nullable)

## Examples

**Response**

```json
{
  "results": [
    {
      "id": "019a58ec-43b5-a1e5-60a8-c9653e6badbe",
      "project_id": "0190a234-9876-5432-10ab-cdef01234567",
      "task_agent_id": "019df849-e106-3301-5894-291b4c9c6cab",
      "task_agent_revision_id": "019df849-e12a-b57e-62d4-0e5875e91ef4",
      "user_id": "0190c234-1111-2222-3333-444444444444",
      "task_agent_name": "Support Agent",
      "short_id": "supportagent",
      "views_count": 12,
      "active": true,
      "created": "2026-05-05T10:15:00Z",
      "share_url": "https://app.rightbrain.ai/api/v1/public/task_agent_share/supportagent",
      "title": "Support Agent",
      "description": "Handles support triage and draft responses.",
      "modified": "2026-05-05T10:15:00Z",
      "tags": []
    }
  ],
  "pagination": {
    "next_cursor": "0190a234-8dc6-6d08-aea9-928fcecad8f2",
    "has_next": true,
    "page_limit": 25
  }
}
```

**SDK Code**

```python Task Agent Shares_listProjectTaskAgentShares_example
import requests

url = "https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Task Agent Shares_listProjectTaskAgentShares_example
const url = 'https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Task Agent Shares_listProjectTaskAgentShares_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Task Agent Shares_listProjectTaskAgentShares_example
require 'uri'
require 'net/http'

url = URI("https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Task Agent Shares_listProjectTaskAgentShares_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Task Agent Shares_listProjectTaskAgentShares_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Task Agent Shares_listProjectTaskAgentShares_example
using RestSharp;

var client = new RestClient("https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Task Agent Shares_listProjectTaskAgentShares_example
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://app.rightbrain.ai/api/v1/org/org_id/project/project_id/task_agent_share")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```