Speria Docs
AppV1WorkspacesWorkspace_idApps

Register an app

POST
/v1/workspaces/{workspace_id}/apps

Authorization

BearerAuth
AuthorizationBearer <token>

Use an API key issued from Speria

In: header

Path Parameters

workspace_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/workspaces/01j00000000000000000000000/apps" \  -H "Content-Type: application/json" \  -d '{    "name": "CRM 連携",    "description": "顧客データ連携アプリ",    "requested_scopes": [      "workspaces:read",      "customer_visits:read"    ],    "redirect_uris": [      "https://example.com/callback"    ],    "install_landing_url": "https://example.com/install"  }'
{  "id": "01j00000000000000000000000",  "client_id": "app_redacted_example",  "name": "CRM 連携",  "description": "顧客データ連携アプリ",  "visibility": "private",  "requested_scopes": [    "workspaces:read",    "customer_visits:read"  ],  "redirect_uris": [    "https://example.com/callback"  ],  "install_landing_url": "https://example.com/install",  "created_at": "2026-01-01T00:00:00+09:00",  "secrets": [    {      "id": "01j00000000000000000000000",      "masked_secret": "speria_secret_...redacted",      "created_at": "2026-01-01T00:00:00+09:00",      "last_used_at": ""    }  ],  "client_secret": "speria_secret_redacted_example"}
{  "error": {    "code": "insufficient_scope",    "message": "This endpoint requires the `apps:write` scope"  }}
{  "error": {    "code": "validation_failed",    "message": "visibility must be one of: private, public"  }}