Workspace integration endpoints
Read workspace data and securely create scheduled meetings through the scoped integration API.
Base URL
All production workspace integration requests use the versioned Patvero API base.
https://api.patvero.com/api/v1Response envelope
Every successful request returns success, typed endpoint data, and request metadata. Nullable properties are explicitly marked in the OpenAPI contract.
{
"success": true,
"data": { "...": "endpoint-specific fields" },
"meta": {
"requestId": "8cc54804-bca5-4cb6-952a-538f0509a586",
"correlationId": "8cc54804-bca5-4cb6-952a-538f0509a586",
"timestamp": "2026-09-28T14:05:12.000Z"
}
}Read workspace identity
Requires workspace.read. The credential object contains safe identifying metadata, never the API key secret.
curl "https://api.patvero.com/api/v1/integrations/workspace" \
-H "Authorization: Bearer $PATVERO_API_KEY"{
"workspace": {
"id": "workspace_01JZP6J6EJH7YV4V58GSCFQYY1",
"name": "Loga",
"slug": "loga",
"status": "active",
"createdAt": "2026-08-01T15:30:00.000Z",
"updatedAt": "2026-09-28T14:05:12.000Z"
},
"credential": {
"id": "c4d9238d-8074-480b-a1a4-52006b775ed0",
"name": "Faceless Angels production",
"keyPrefix": "pv_live_c4d9238d",
"scopes": ["workspace.read", "members.read"]
}
}Read active members
Requires members.read. Returns up to 1,000 active members ordered by display name. Email and avatarUrl can be null.
curl "https://api.patvero.com/api/v1/integrations/workspace/members" \
-H "Authorization: Bearer $PATVERO_API_KEY"{
"members": [
{
"id": "usr_ea6e70324a32bc39e08457901e09fb42",
"displayName": "Henry Ford",
"email": "henry@example.com",
"avatarUrl": null,
"role": "member",
"status": "active",
"joinedAt": "2026-08-12T17:45:00.000Z",
"updatedAt": "2026-09-26T09:10:00.000Z"
}
],
"count": 1,
"workspaceId": "workspace_01JZP6J6EJH7YV4V58GSCFQYY1"
}Read meetings and projects
Use meetings.read or projects.read respectively.
curl "https://api.patvero.com/api/v1/integrations/workspace/meetings" \
-H "X-Patvero-API-Key: $PATVERO_API_KEY"curl "https://api.patvero.com/api/v1/integrations/workspace/projects" \
-H "X-Patvero-API-Key: $PATVERO_API_KEY"{
"meetings": [
{
"id": "45f0ed50-a4a6-4c5e-b918-f85f28ba588c",
"title": "Weekly operations review",
"description": "Review delivery priorities and blockers.",
"meetingType": "scheduled",
"scheduledStartAt": "2026-10-01T15:00:00.000Z",
"scheduledDurationMinutes": 60,
"timeZone": "America/Chicago",
"status": "scheduled",
"createdAt": "2026-09-20T18:00:00.000Z",
"updatedAt": "2026-09-27T11:20:00.000Z"
}
],
"count": 1,
"workspaceId": "workspace_01JZP6J6EJH7YV4V58GSCFQYY1"
}{
"projects": [
{
"id": "682a2ddc-466d-4587-8756-06bdcd177c78",
"key": "OPS",
"name": "Operations launch",
"description": "Prepare the operations team for launch.",
"priority": "high",
"status": "active",
"color": "#3155df",
"startDate": "2026-09-01",
"targetDate": "2026-11-30",
"createdAt": "2026-08-25T13:15:00.000Z",
"updatedAt": "2026-09-28T12:40:00.000Z"
}
],
"count": 1,
"workspaceId": "workspace_01JZP6J6EJH7YV4V58GSCFQYY1"
}Create a meeting and get its join link
Requires meetings.write. Patvero creates the meeting through the same secure scheduling, entitlement, invitation, audit, and admission flow used by the app. The response contains the join URL, so the connected application does not need a copied Patvero link.
curl -X POST "https://api.patvero.com/api/v1/integrations/workspace/meetings" \
-H "Authorization: Bearer $PATVERO_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Idempotency-Key: faceless-request-01JZP9M2N6Z3" \
-d '{
"title": "Faceless Angels intake review",
"description": "Review the submitted request with the applicant.",
"scheduledStartAt": "2026-10-01T15:00:00.000Z",
"timeZone": "America/Chicago",
"durationMinutes": 45,
"invitees": [{ "email": "applicant@example.com", "displayName": "Applicant name" }],
"externalReference": "request_01JZP9M2N6Z3WJ6RS9XB5V2KQ8"
}'{
"id": "45f0ed50-a4a6-4c5e-b918-f85f28ba588c",
"title": "Faceless Angels intake review",
"joinUrl": "https://www.patvero.com/?room=abcde-fghij&prejoin=1",
"joinCode": "abcde-fghij",
"status": "scheduled",
"scheduledStartAt": "2026-10-01T15:00:00.000Z",
"durationMinutes": 45,
"timeZone": "America/Chicago",
"invitationCount": 1,
"externalReference": "request_01JZP9M2N6Z3WJ6RS9XB5V2KQ8"
}A workspace owner can add meetings.write from Workspace → Developer API → Permissions. The pv_live_ key already stored by the integration remains the same.
Collection limits
These read-only endpoints currently return bounded collections rather than accepting pagination parameters.
- Members: up to 1,000 active members.
- Meetings: up to 250 meetings, newest first.
- Projects: up to 500 workspace-visible projects, most recently updated first; private projects are excluded.
- count is the number returned, not a separate total across hidden or excluded records.
Tell us what was missing and include the page title.