{
  "@context": {
    "@vocab": "https://docoapi.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "docoapi": "https://docoapi.com/schema#",
    "ChangePasswordRequest": "docoapi:ChangePasswordRequest",
    "current_password": {
      "@id": "docoapi:current_password",
      "@type": "xsd:string"
    },
    "new_password": {
      "@id": "docoapi:new_password",
      "@type": "xsd:string"
    },
    "ForgotPasswordRequest": "docoapi:ForgotPasswordRequest",
    "email": {
      "@id": "docoapi:email",
      "@type": "xsd:string"
    },
    "HTTPValidationError": "docoapi:HTTPValidationError",
    "detail": {
      "@id": "docoapi:detail",
      "@container": "@list"
    },
    "LogoutRequest": "docoapi:LogoutRequest",
    "refresh_token": {
      "@id": "docoapi:refresh_token",
      "@type": "xsd:string"
    },
    "everywhere": {
      "@id": "docoapi:everywhere",
      "@type": "xsd:boolean"
    },
    "PasskeyOut": "docoapi:PasskeyOut",
    "id": {
      "@id": "docoapi:id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "docoapi:name",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "docoapi:created_at",
      "@type": "xsd:dateTime"
    },
    "last_used_at": {
      "@id": "docoapi:last_used_at"
    },
    "PasskeyRenameRequest": "docoapi:PasskeyRenameRequest",
    "PasskeySessionRequest": "docoapi:PasskeySessionRequest",
    "PasskeysListResponse": "docoapi:PasskeysListResponse",
    "passkeys": {
      "@id": "docoapi:passkeys",
      "@container": "@list"
    },
    "ProjectCreate": "docoapi:ProjectCreate",
    "subdomain": {
      "@id": "docoapi:subdomain",
      "@type": "xsd:string"
    },
    "ProjectMcpAuthUpdate": "docoapi:ProjectMcpAuthUpdate",
    "selected_header": {
      "@id": "docoapi:selected_header",
      "@type": "xsd:string"
    },
    "selected_type": {
      "@id": "docoapi:selected_type",
      "@type": "xsd:string"
    },
    "source": {
      "@id": "docoapi:source",
      "@type": "xsd:string"
    },
    "ProjectMcpUpdate": "docoapi:ProjectMcpUpdate",
    "mcp_enabled": {
      "@id": "docoapi:mcp_enabled",
      "@type": "xsd:boolean"
    },
    "ProjectOut": "docoapi:ProjectOut",
    "workspace_id": {
      "@id": "docoapi:workspace_id",
      "@type": "xsd:string"
    },
    "github_repo": {
      "@id": "docoapi:github_repo"
    },
    "github_spec_path": {
      "@id": "docoapi:github_spec_path",
      "@type": "xsd:string"
    },
    "github_branch": {
      "@id": "docoapi:github_branch",
      "@type": "xsd:string"
    },
    "github_installation_id": {
      "@id": "docoapi:github_installation_id"
    },
    "sync_status": {
      "@id": "docoapi:sync_status",
      "@type": "xsd:string"
    },
    "last_synced_at": {
      "@id": "docoapi:last_synced_at"
    },
    "sync_source": {
      "@id": "docoapi:sync_source",
      "@type": "xsd:string"
    },
    "sync_url": {
      "@id": "docoapi:sync_url"
    },
    "poll_interval_minutes": {
      "@id": "docoapi:poll_interval_minutes",
      "@type": "xsd:integer"
    },
    "poll_last_attempted_at": {
      "@id": "docoapi:poll_last_attempted_at"
    },
    "spec_hash": {
      "@id": "docoapi:spec_hash"
    },
    "is_published": {
      "@id": "docoapi:is_published",
      "@type": "xsd:boolean"
    },
    "last_error_message": {
      "@id": "docoapi:last_error_message"
    },
    "mcp_tool_count": {
      "@id": "docoapi:mcp_tool_count"
    },
    "mcp_generated_at": {
      "@id": "docoapi:mcp_generated_at"
    },
    "mcp_generation_error": {
      "@id": "docoapi:mcp_generation_error"
    },
    "mcp_base_url": {
      "@id": "docoapi:mcp_base_url"
    },
    "mcp_base_url_is_fallback": {
      "@id": "docoapi:mcp_base_url_is_fallback",
      "@type": "xsd:boolean"
    },
    "mcp_auth_config": {
      "@id": "docoapi:mcp_auth_config"
    },
    "ProjectUpdate": "docoapi:ProjectUpdate",
    "ProxyRequest": "docoapi:ProxyRequest",
    "method": {
      "@id": "docoapi:method",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "docoapi:url",
      "@type": "xsd:string"
    },
    "headers": {
      "@id": "docoapi:headers"
    },
    "body": {
      "@id": "docoapi:body"
    },
    "ProxyResponse": "docoapi:ProxyResponse",
    "status": {
      "@id": "docoapi:status",
      "@type": "xsd:integer"
    },
    "elapsed_ms": {
      "@id": "docoapi:elapsed_ms",
      "@type": "xsd:integer"
    },
    "RecoveryCodesResponse": "docoapi:RecoveryCodesResponse",
    "recovery_codes": {
      "@id": "docoapi:recovery_codes",
      "@container": "@list"
    },
    "message": {
      "@id": "docoapi:message",
      "@type": "xsd:string"
    },
    "RefreshRequest": "docoapi:RefreshRequest",
    "ResendVerificationRequest": "docoapi:ResendVerificationRequest",
    "ResetPasswordRequest": "docoapi:ResetPasswordRequest",
    "token": {
      "@id": "docoapi:token",
      "@type": "xsd:string"
    },
    "SessionOut": "docoapi:SessionOut",
    "device_id": {
      "@id": "docoapi:device_id"
    },
    "ip_address": {
      "@id": "docoapi:ip_address"
    },
    "user_agent": {
      "@id": "docoapi:user_agent"
    },
    "last_activity_at": {
      "@id": "docoapi:last_activity_at"
    },
    "is_current": {
      "@id": "docoapi:is_current",
      "@type": "xsd:boolean"
    },
    "SessionsListResponse": "docoapi:SessionsListResponse",
    "sessions": {
      "@id": "docoapi:sessions",
      "@container": "@list"
    },
    "SpecDetailOut": "docoapi:SpecDetailOut",
    "project_id": {
      "@id": "docoapi:project_id",
      "@type": "xsd:string"
    },
    "spec_version": {
      "@id": "docoapi:spec_version"
    },
    "is_active": {
      "@id": "docoapi:is_active",
      "@type": "xsd:boolean"
    },
    "source_url": {
      "@id": "docoapi:source_url"
    },
    "endpoint_count": {
      "@id": "docoapi:endpoint_count"
    },
    "schema_count": {
      "@id": "docoapi:schema_count"
    },
    "swagger_converted": {
      "@id": "docoapi:swagger_converted",
      "@type": "xsd:boolean"
    },
    "embedding_count": {
      "@id": "docoapi:embedding_count"
    },
    "raw_content": {
      "@id": "docoapi:raw_content",
      "@type": "xsd:string"
    },
    "enriched_content": {
      "@id": "docoapi:enriched_content"
    },
    "validation_errors": {
      "@id": "docoapi:validation_errors"
    },
    "SpecOut": "docoapi:SpecOut",
    "Token": "docoapi:Token",
    "access_token": {
      "@id": "docoapi:access_token",
      "@type": "xsd:string"
    },
    "token_type": {
      "@id": "docoapi:token_type",
      "@type": "xsd:string"
    },
    "requires_2fa": {
      "@id": "docoapi:requires_2fa",
      "@type": "xsd:boolean"
    },
    "temp_token": {
      "@id": "docoapi:temp_token"
    },
    "TotpCodeRequest": "docoapi:TotpCodeRequest",
    "code": {
      "@id": "docoapi:code",
      "@type": "xsd:string"
    },
    "TotpEnableRequest": "docoapi:TotpEnableRequest",
    "secret": {
      "@id": "docoapi:secret",
      "@type": "xsd:string"
    },
    "TotpSetupResponse": "docoapi:TotpSetupResponse",
    "qr_uri": {
      "@id": "docoapi:qr_uri",
      "@type": "xsd:string"
    },
    "manual_entry_key": {
      "@id": "docoapi:manual_entry_key",
      "@type": "xsd:string"
    },
    "TotpStatusResponse": "docoapi:TotpStatusResponse",
    "enabled": {
      "@id": "docoapi:enabled",
      "@type": "xsd:boolean"
    },
    "recovery_codes_remaining": {
      "@id": "docoapi:recovery_codes_remaining",
      "@type": "xsd:integer"
    },
    "TotpVerifyRequest": "docoapi:TotpVerifyRequest",
    "UpdateMeRequest": "docoapi:UpdateMeRequest",
    "display_name": {
      "@id": "docoapi:display_name"
    },
    "UserCreate": "docoapi:UserCreate",
    "password": {
      "@id": "docoapi:password",
      "@type": "xsd:string"
    },
    "workspace_name": {
      "@id": "docoapi:workspace_name",
      "@type": "xsd:string"
    },
    "UserLogin": "docoapi:UserLogin",
    "UserOut": "docoapi:UserOut",
    "role": {
      "@id": "docoapi:role",
      "@type": "xsd:string"
    },
    "is_verified": {
      "@id": "docoapi:is_verified",
      "@type": "xsd:boolean"
    },
    "has_password": {
      "@id": "docoapi:has_password",
      "@type": "xsd:boolean"
    },
    "ValidationError": "docoapi:ValidationError",
    "loc": {
      "@id": "docoapi:loc",
      "@container": "@list"
    },
    "msg": {
      "@id": "docoapi:msg",
      "@type": "xsd:string"
    },
    "type": {
      "@id": "docoapi:type",
      "@type": "xsd:string"
    },
    "input": {
      "@id": "docoapi:input"
    },
    "ctx": {
      "@id": "docoapi:ctx"
    },
    "VerifyEmailRequest": "docoapi:VerifyEmailRequest",
    "WorkspaceAdminUpdate": "docoapi:WorkspaceAdminUpdate",
    "max_projects": {
      "@id": "docoapi:max_projects"
    },
    "paddle_price_id": {
      "@id": "docoapi:paddle_price_id"
    },
    "WorkspaceOut": "docoapi:WorkspaceOut",
    "slug": {
      "@id": "docoapi:slug",
      "@type": "xsd:string"
    },
    "stripe_customer_id": {
      "@id": "docoapi:stripe_customer_id"
    },
    "subscription_status": {
      "@id": "docoapi:subscription_status",
      "@type": "xsd:string"
    },
    "WorkspaceUpdate": "docoapi:WorkspaceUpdate"
  },
  "@type": "schema:Dataset",
  "schema:name": "Saga Labs API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Saga Labs's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-16) from openapi/_original/openapi.json.",
  "dcterms:created": "2026-10-16",
  "dcterms:source": [
    "openapi/_original/openapi.json"
  ]
}