projects

Embed
Preview of the card
<a href="https://lucida.15-204-158-166.sslip.io/docs/ref-projects"><img src="https://lucida.15-204-158-166.sslip.io/docs/_api/public/orgs/af34862a-c837-4478-8335-0505efe40459/spaces/da916cd3-c0fc-4b63-b971-b3c13623daf3/pages/6dd83cdf-cf7d-413c-ae5f-0a45491e2122/social-card.svg?v=3e7ae33eec8b" alt="projects" width="600" height="315"></a>
GEThttps://lucida.15-204-158-166.sslip.io/v1/orgs/{org_id}/projects

Parameters

org_idstringpathrequired

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/orgs/{org_id}/projects"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Page of Project
404
POSThttps://lucida.15-204-158-166.sslip.io/v1/orgs/{org_id}/projects

Creates default environments and a public + secret key; secrets are returned once.

Parameters

org_idstringpathrequired

Request body

application/json
namestringrequired
{
  "name": "string"
}

Code samples

cURL
curl -X POST "https://lucida.15-204-158-166.sslip.io/v1/orgs/{org_id}/projects" \
  -H "Content-Type: application/json" \
  -d '{"name":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201
Example
{
  "environments": [
    {
      "id": "string",
      "is_default": true,
      "name": "string"
    }
  ],
  "keys": [
    {
      "created_at": "2024-01-01T00:00:00Z",
      "created_by": "string",
      "environment": "string",
      "expires_at": "2024-01-01T00:00:00Z",
      "id": "string",
      "key_prefix": "string",
      "kind": "string",
      "last_used_at": "2024-01-01T00:00:00Z",
      "name": "string",
      "org_id": "string",
      "project_id": "string",
      "public_value": "string",
      "revoked_at": "2024-01-01T00:00:00Z",
      "scopes": [
        "string"
      ],
      "secret": "string"
    }
  ],
  "project": {
    "ai_enabled": true,
    "company_enabled": true,
    "compliance_profile": "string",
    "created_at": "2024-01-01T00:00:00Z",
    "fiscal_year_start_month": 0,
    "geo_enabled": true,
    "group_label": "string",
    "id": "string",
    "ip_capture": true,
    "ip_truncate": true,
    "is_test": true,
    "logo_url": "string",
    "name": "string",
    "org_id": "string",
    "region": "string",
    "replay_mask_floor": true,
    "replay_retention_days": 0,
    "retention_days": 0,
    "slug": "string",
    "tags": [
      "string"
    ],
    "timezone": "string",
    "week_start": 0
  }
}
Schema
environmentsEnvironment[]required
Show child parameters
idstringrequired
is_defaultbooleanrequired
namestringrequired
keysCreatedKey[]required
Show child parameters
created_atstringrequired
created_bystring
environmentstring
Environment an SDK key serves; None = the project's default.
expires_atstring
idstringrequired
key_prefixstringrequired
kindstringrequired
last_used_atstring
namestringrequired
org_idstringrequired
project_idstringrequired
public_valuestring
The full key, kept only for public keys (they ship in web pages); null for secret and personal keys, which are shown once, and for public keys minted before this was stored.
revoked_atstring
scopesstring[]required
secretstringrequired
Shown once; only its SHA-256 is stored.
projectobjectrequired
Show child parameters
ai_enabledbooleanrequired
Per-project AI kill switch; lc-ai makes no model call when false.
company_enabledbooleanrequired
Identify the company behind visitor IPs and link events to a company group (P-H8, default off).
compliance_profilestringrequired
standard | hipaa. HIPAA forces the privacy floors below on.
created_atstringrequired
fiscal_year_start_monthintegerrequired
1 = January .. 12 = December.
geo_enabledbooleanrequired
Resolve $country / $region / $city / $timezone / lat-lon from the IP (default on).
group_labelstring
Free-form group shown in the project switcher, e.g. Mobile.
idstringrequired
ip_capturebooleanrequired
Keep the client IP ($ip) on events. Always false under HIPAA.
ip_truncatebooleanrequired
With ip_capture on, keep the address with its host part zeroed (IPv4 /24, IPv6 /48).
is_testbooleanrequired
Sandbox project: excluded from billing metering.
logo_urlstring
namestringrequired
org_idstringrequired
regionstringrequired
replay_mask_floorbooleanrequired
Replay text is masked server-side whatever the SDK settings say.
replay_retention_daysintegerrequired
retention_daysintegerrequired
slugstringrequired
tagsstring[]required
timezonestringrequired
week_startintegerrequired
0 = Sunday .. 6 = Saturday.
403
404
409
GEThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}

Parameters

project_idstringpathrequired

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200
Example
{
  "ai_enabled": true,
  "company_enabled": true,
  "compliance_profile": "string",
  "created_at": "2024-01-01T00:00:00Z",
  "fiscal_year_start_month": 0,
  "geo_enabled": true,
  "group_label": "string",
  "id": "string",
  "ip_capture": true,
  "ip_truncate": true,
  "is_test": true,
  "logo_url": "string",
  "name": "string",
  "org_id": "string",
  "region": "string",
  "replay_mask_floor": true,
  "replay_retention_days": 0,
  "retention_days": 0,
  "slug": "string",
  "tags": [
    "string"
  ],
  "timezone": "string",
  "week_start": 0,
  "caller_org_role": "string",
  "caller_role": "string"
}
Schema
ai_enabledbooleanrequired
Per-project AI kill switch; lc-ai makes no model call when false.
company_enabledbooleanrequired
Identify the company behind visitor IPs and link events to a company group (P-H8, default off).
compliance_profilestringrequired
standard | hipaa. HIPAA forces the privacy floors below on.
created_atstringrequired
fiscal_year_start_monthintegerrequired
1 = January .. 12 = December.
geo_enabledbooleanrequired
Resolve $country / $region / $city / $timezone / lat-lon from the IP (default on).
group_labelstring
Free-form group shown in the project switcher, e.g. Mobile.
idstringrequired
ip_capturebooleanrequired
Keep the client IP ($ip) on events. Always false under HIPAA.
ip_truncatebooleanrequired
With ip_capture on, keep the address with its host part zeroed (IPv4 /24, IPv6 /48).
is_testbooleanrequired
Sandbox project: excluded from billing metering.
logo_urlstring
namestringrequired
org_idstringrequired
regionstringrequired
replay_mask_floorbooleanrequired
Replay text is masked server-side whatever the SDK settings say.
replay_retention_daysintegerrequired
retention_daysintegerrequired
slugstringrequired
tagsstring[]required
timezonestringrequired
week_startintegerrequired
0 = Sunday .. 6 = Saturday.
caller_org_rolestring
The caller's org role (owner | admin | member | viewer | billing). A key without a user reads admin (admin scope), member (*:write) or viewer. Null for toolbar tokens.
caller_rolestring
The caller's effective role in this project (a project admin grant reads admin).
404
DELETEhttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}

Parameters

project_idstringpathrequired

Code samples

cURL
curl -X DELETE "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

204
403
404
PATCHhttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}

Parameters

project_idstringpathrequired

Request body

application/json
ai_enabledboolean
Per-project AI kill switch lc-ai checks before every model call (refused on under hipaa).
company_enabledboolean
Identify the company behind visitor IPs (operator MMDB or provider) and link events to a company group with $company_* properties (P-H8, default off; never applied under hipaa).
compliance_profilestring
standard | hipaa. hipaa forces ip_capture off, AI off, the replay masking floor on, and clamps retention to 365 / 30 days; it needs an audit sink.
fiscal_year_start_monthinteger
1 (January) to 12 (December).
geo_enabledboolean
Resolve location from the IP at ingest (default on). Off: no $country / $city / ... are added.
group_labelstring
Group in the project switcher, at most 64 characters; "" clears.
ip_captureboolean
Keep the client IP as $ip on events (default off; refused under hipaa).
ip_truncateboolean
With ip_capture on, store the address truncated (IPv4 /24, IPv6 /48).
logo_urlstring
https:// image URL; "" clears.
namestring
regionstring
Never writable: a project's region is its org's and data does not move. Sending a different value is a 409 (region-locked under the hipaa profile).
replay_mask_floorboolean
Mask replay text server-side whatever the SDK settings say (forced on under hipaa).
replay_retention_daysinteger
1 to 3650 (at most 30 under the hipaa profile).
retention_daysinteger
1 to 3650.
tagsarray
At most 20 tags of 1 to 32 characters (lowercased, de-duplicated).
timezonestring
IANA timezone used for bucketing, e.g. Europe/Berlin.
week_startinteger
0 (Sunday) to 6 (Saturday).
{
  "ai_enabled": true,
  "company_enabled": true,
  "compliance_profile": "string",
  "fiscal_year_start_month": 0,
  "geo_enabled": true,
  "group_label": "string",
  "ip_capture": true,
  "ip_truncate": true,
  "logo_url": "string",
  "name": "string",
  "region": "string",
  "replay_mask_floor": true,
  "replay_retention_days": 0,
  "retention_days": 0,
  "tags": [
    "string"
  ],
  "timezone": "string",
  "week_start": 0
}

Code samples

cURL
curl -X PATCH "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}" \
  -H "Content-Type: application/json" \
  -d '{"ai_enabled":true,"company_enabled":true,"compliance_profile":"string","fiscal_year_start_month":0,"geo_enabled":true,"group_label":"string","ip_capture":true,"ip_truncate":true,"logo_url":"string","name":"string","region":"string","replay_mask_floor":true,"replay_retention_days":0,"retention_days":0,"tags":["string"],"timezone":"string","week_start":0}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200
Example
{
  "ai_enabled": true,
  "company_enabled": true,
  "compliance_profile": "string",
  "created_at": "2024-01-01T00:00:00Z",
  "fiscal_year_start_month": 0,
  "geo_enabled": true,
  "group_label": "string",
  "id": "string",
  "ip_capture": true,
  "ip_truncate": true,
  "is_test": true,
  "logo_url": "string",
  "name": "string",
  "org_id": "string",
  "region": "string",
  "replay_mask_floor": true,
  "replay_retention_days": 0,
  "retention_days": 0,
  "slug": "string",
  "tags": [
    "string"
  ],
  "timezone": "string",
  "week_start": 0
}
Schema
ai_enabledbooleanrequired
Per-project AI kill switch; lc-ai makes no model call when false.
company_enabledbooleanrequired
Identify the company behind visitor IPs and link events to a company group (P-H8, default off).
compliance_profilestringrequired
standard | hipaa. HIPAA forces the privacy floors below on.
created_atstringrequired
fiscal_year_start_monthintegerrequired
1 = January .. 12 = December.
geo_enabledbooleanrequired
Resolve $country / $region / $city / $timezone / lat-lon from the IP (default on).
group_labelstring
Free-form group shown in the project switcher, e.g. Mobile.
idstringrequired
ip_capturebooleanrequired
Keep the client IP ($ip) on events. Always false under HIPAA.
ip_truncatebooleanrequired
With ip_capture on, keep the address with its host part zeroed (IPv4 /24, IPv6 /48).
is_testbooleanrequired
Sandbox project: excluded from billing metering.
logo_urlstring
namestringrequired
org_idstringrequired
regionstringrequired
replay_mask_floorbooleanrequired
Replay text is masked server-side whatever the SDK settings say.
replay_retention_daysintegerrequired
retention_daysintegerrequired
slugstringrequired
tagsstring[]required
timezonestringrequired
week_startintegerrequired
0 = Sunday .. 6 = Saturday.
403
404
GEThttps://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/access-policy

Parameters

project_idstringpathrequired

Code samples

cURL
curl -X GET "https://lucida.15-204-158-166.sslip.io/v1/projects/{project_id}/access-policy"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200
Example
{
  "default": "string",
  "managed_by": "string",
  "resources": {}
}
Schema
defaultstring
member (every org member, by role) or none (only members added to the project with a project role, plus admins). Default member.
managed_bystring
terraform when the policy is owned by code (P-M24): the app shows it locked and refuses edits (409) that do not carry the marker, unless they pass force.
resourcesobject
Per-resource level for plain members: none, read or write, keyed by resource (insight, dashboard, replay, flag, experiment, cohort, person, connector).
404

Updated