Skip to main content
GET
/
api
/
v1
/
secrets
List secrets
curl --request GET \
  --url https://neo.api.projectdiscovery.io/api/v1/secrets \
  --header 'Authorization: Bearer <token>'
[
  {
    "default_available": true,
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "masked_value": "ghp_xx••••••••xxxx",
    "name": "GITHUB_TOKEN"
  },
  {
    "default_available": false,
    "id": "550e8400-e29b-41d4-a716-446655440001",
    "masked_value": "htt••••••••.com",
    "name": "SLACK_WEBHOOK_URL"
  }
]

Documentation Index

Fetch the complete documentation index at: https://docs.neo.projectdiscovery.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

JWT authentication token

Query Parameters

project_id
string<uuid>

Optional project ID to list project-scoped secrets (requires project membership)

Response

List of secrets with masked values

default_available
boolean
default:false
required

Whether this secret is exposed by default at task runtime for its scope. If false, it is only exposed when explicitly selected in task requests.

Example:

false

id
string<uuid>
required

Unique identifier for the secret

Example:

"550e8400-e29b-41d4-a716-446655440000"

masked_value
string
required

Masked representation of the secret value for display purposes. Shows first 3 and last 4 characters with bullets (•) in between.

Example:

"ghp_xx••••••••xxxx"

name
string
required

Secret name (used as environment variable name when injected into agent execution). Should follow UPPER_SNAKE_CASE convention.

Example:

"GITHUB_TOKEN"

created_at
string<date-time>

When the secret was created

created_by_agent
boolean

Indicates whether this secret was automatically created by an AI agent (true) or manually created by the user (false).

Example:

true

project_id
string<uuid>

Project ID if this is a project-scoped secret. Null/absent for personal secrets.

updated_at
string<date-time>

When the secret was last updated