{
  "@context": {
    "@vocab": "https://keito.ai/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "keito": "https://keito.ai/schema#",
    "GetApiV2AssignmentsResponse": "keito:GetApiV2AssignmentsResponse",
    "assignments": {
      "@id": "keito:assignments",
      "@container": "@list"
    },
    "PostApiV2AssignmentsRequest": "keito:PostApiV2AssignmentsRequest",
    "project_id": {
      "@id": "keito:project_id",
      "@type": "xsd:string"
    },
    "task_id": {
      "@id": "keito:task_id",
      "@type": "xsd:string"
    },
    "person_id": {
      "@id": "keito:person_id",
      "@type": "xsd:string"
    },
    "start_date": {
      "@id": "keito:start_date",
      "@type": "xsd:string"
    },
    "end_date": {
      "@id": "keito:end_date",
      "@type": "xsd:string"
    },
    "hours_per_day": {
      "@id": "keito:hours_per_day",
      "@type": "xsd:decimal"
    },
    "PostApiV2AssignmentsResponse": "keito:PostApiV2AssignmentsResponse",
    "id": {
      "@id": "keito:id",
      "@type": "xsd:string"
    },
    "revision": {
      "@id": "keito:revision",
      "@type": "xsd:integer"
    },
    "PatchApiV2AssignmentsAssignmentidRequest": "keito:PatchApiV2AssignmentsAssignmentidRequest",
    "GetApiV2CapacityResponse": "keito:GetApiV2CapacityResponse",
    "capacity": {
      "@id": "keito:capacity",
      "@container": "@list"
    },
    "PatchApiV2ClientsRequest": "keito:PatchApiV2ClientsRequest",
    "address": {
      "@id": "keito:address",
      "@type": "xsd:string"
    },
    "PostApiV2ClientsIdMcpUpdateRequest": "keito:PostApiV2ClientsIdMcpUpdateRequest",
    "name": {
      "@id": "keito:name",
      "@type": "xsd:string"
    },
    "is_active": {
      "@id": "keito:is_active",
      "@type": "xsd:boolean"
    },
    "GetApiV2ExpensesResponse": "keito:GetApiV2ExpensesResponse",
    "expense_id": {
      "@id": "keito:expense_id",
      "@type": "xsd:string"
    },
    "reimbursable": {
      "@id": "keito:reimbursable",
      "@type": "xsd:string"
    },
    "expense_version": {
      "@id": "keito:expense_version",
      "@type": "xsd:integer"
    },
    "PostApiV2ExpensesRequest": "keito:PostApiV2ExpensesRequest",
    "expense_category_id": {
      "@id": "keito:expense_category_id",
      "@type": "xsd:string"
    },
    "spent_date": {
      "@id": "keito:spent_date",
      "@type": "xsd:date"
    },
    "total_cost": {
      "@id": "keito:total_cost",
      "@type": "xsd:decimal"
    },
    "notes": {
      "@id": "keito:notes",
      "@type": "xsd:string"
    },
    "source": {
      "@id": "keito:source",
      "@type": "xsd:string"
    },
    "GetApiV2ExpensesIdResponse": "keito:GetApiV2ExpensesIdResponse",
    "units": {
      "@id": "keito:units",
      "@type": "xsd:decimal"
    },
    "invoice_id": {
      "@id": "keito:invoice_id",
      "@type": "xsd:string"
    },
    "PatchApiV2ExpensesIdRequest": "keito:PatchApiV2ExpensesIdRequest",
    "entry_type": {
      "@id": "keito:entry_type",
      "@type": "xsd:string"
    },
    "adjustment_reason": {
      "@id": "keito:adjustment_reason",
      "@type": "xsd:string"
    },
    "adjustment_of_id": {
      "@id": "keito:adjustment_of_id",
      "@type": "xsd:string"
    },
    "billable": {
      "@id": "keito:billable",
      "@type": "xsd:boolean"
    },
    "attach_receipt_to_invoice": {
      "@id": "keito:attach_receipt_to_invoice",
      "@type": "xsd:boolean"
    },
    "metadata": {
      "@id": "keito:metadata"
    },
    "PatchApiV2ExpensesIdResponse": "keito:PatchApiV2ExpensesIdResponse",
    "PostApiV2ExpensesIdReceiptRequest": "keito:PostApiV2ExpensesIdReceiptRequest",
    "file": {
      "@id": "keito:file",
      "@type": "xsd:string"
    },
    "PostApiV2ExpensesIdReceiptResponse": "keito:PostApiV2ExpensesIdReceiptResponse",
    "receipt_file_name": {
      "@id": "keito:receipt_file_name",
      "@type": "xsd:string"
    },
    "receipt_file_size": {
      "@id": "keito:receipt_file_size",
      "@type": "xsd:integer"
    },
    "receipt_content_type": {
      "@id": "keito:receipt_content_type",
      "@type": "xsd:string"
    },
    "receipt_url": {
      "@id": "keito:receipt_url",
      "@type": "xsd:string"
    },
    "GetApiV2ExpensesIdReimbursementResponse": "keito:GetApiV2ExpensesIdReimbursementResponse",
    "PatchApiV2ExpensesIdReimbursementRequest": "keito:PatchApiV2ExpensesIdReimbursementRequest",
    "expected_expense_version": {
      "@id": "keito:expected_expense_version",
      "@type": "xsd:integer"
    },
    "PatchApiV2ExpensesIdReimbursementResponse": "keito:PatchApiV2ExpensesIdReimbursementResponse",
    "PatchApiV2InvoicesIdRequest": "keito:PatchApiV2InvoicesIdRequest",
    "number": {
      "@id": "keito:number",
      "@type": "xsd:string"
    },
    "subject": {
      "@id": "keito:subject",
      "@type": "xsd:string"
    },
    "issue_date": {
      "@id": "keito:issue_date",
      "@type": "xsd:string"
    },
    "due_date": {
      "@id": "keito:due_date",
      "@type": "xsd:string"
    },
    "purchase_order": {
      "@id": "keito:purchase_order",
      "@type": "xsd:string"
    },
    "tax": {
      "@id": "keito:tax",
      "@type": "xsd:decimal"
    },
    "tax2": {
      "@id": "keito:tax2",
      "@type": "xsd:decimal"
    },
    "discount": {
      "@id": "keito:discount",
      "@type": "xsd:decimal"
    },
    "period_start": {
      "@id": "keito:period_start",
      "@type": "xsd:string"
    },
    "period_end": {
      "@id": "keito:period_end",
      "@type": "xsd:string"
    },
    "service_period_start": {
      "@id": "keito:service_period_start",
      "@type": "xsd:string"
    },
    "service_period_end": {
      "@id": "keito:service_period_end",
      "@type": "xsd:string"
    },
    "line_items": {
      "@id": "keito:line_items",
      "@container": "@list"
    },
    "PostApiV2InvoicesIdExternalDeliveriesRequest": "keito:PostApiV2InvoicesIdExternalDeliveriesRequest",
    "sent_on": {
      "@id": "keito:sent_on",
      "@type": "xsd:string"
    },
    "PostApiV2InvoicesIdExternalDeliveriesResponse": "keito:PostApiV2InvoicesIdExternalDeliveriesResponse",
    "status": {
      "@id": "keito:status",
      "@type": "xsd:string"
    },
    "reason": {
      "@id": "keito:reason",
      "@type": "xsd:string"
    },
    "PostApiV2InvoicesIdPaymentsRequest": "keito:PostApiV2InvoicesIdPaymentsRequest",
    "amount": {
      "@id": "keito:amount",
      "@type": "xsd:decimal"
    },
    "paid_at": {
      "@id": "keito:paid_at",
      "@type": "xsd:string"
    },
    "transaction_id": {
      "@id": "keito:transaction_id",
      "@type": "xsd:string"
    },
    "payment_gateway": {
      "@id": "keito:payment_gateway",
      "@type": "xsd:string"
    },
    "send_thank_you": {
      "@id": "keito:send_thank_you",
      "@type": "xsd:boolean"
    },
    "GetApiV2InvoicesIdPublicLinkResponse": "keito:GetApiV2InvoicesIdPublicLinkResponse",
    "public_url": {
      "@id": "keito:public_url",
      "@type": "xsd:string"
    },
    "visibility": {
      "@id": "keito:visibility",
      "@type": "xsd:string"
    },
    "visibility_reason": {
      "@id": "keito:visibility_reason",
      "@type": "xsd:string"
    },
    "payment": {
      "@id": "keito:payment"
    },
    "PostApiV2InvoicesIdAttachmentsRequest": "keito:PostApiV2InvoicesIdAttachmentsRequest",
    "GetApiV2PlaceholdersResponse": "keito:GetApiV2PlaceholdersResponse",
    "placeholders": {
      "@id": "keito:placeholders",
      "@container": "@list"
    },
    "GetApiV2ProjectTemplatesResponse": "keito:GetApiV2ProjectTemplatesResponse",
    "GetApiV2ProjectsResponse": "keito:GetApiV2ProjectsResponse",
    "projects": {
      "@id": "keito:projects",
      "@container": "@list"
    },
    "PatchApiV2ProjectsRequest": "keito:PatchApiV2ProjectsRequest",
    "PostApiV2ProjectsArchiveReviewArchiveRequest": "keito:PostApiV2ProjectsArchiveReviewArchiveRequest",
    "review_token": {
      "@id": "keito:review_token",
      "@type": "xsd:string"
    },
    "confirm_project_ids": {
      "@id": "keito:confirm_project_ids",
      "@container": "@list"
    },
    "confirm_archive": {
      "@id": "keito:confirm_archive",
      "@type": "xsd:boolean"
    },
    "warning_acknowledgement": {
      "@id": "keito:warning_acknowledgement",
      "@type": "xsd:boolean"
    },
    "PostApiV2ProjectsArchiveReviewPreflightRequest": "keito:PostApiV2ProjectsArchiveReviewPreflightRequest",
    "project_ids": {
      "@id": "keito:project_ids",
      "@container": "@list"
    },
    "criteria": {
      "@id": "keito:criteria"
    },
    "reviewed_at": {
      "@id": "keito:reviewed_at",
      "@type": "xsd:string"
    },
    "PostApiV2ProjectsArchiveReviewPreflightResponse": "keito:PostApiV2ProjectsArchiveReviewPreflightResponse",
    "GetApiV2ProjectsProjectidBillingSummaryResponse": "keito:GetApiV2ProjectsProjectidBillingSummaryResponse",
    "results": {
      "@id": "keito:results"
    },
    "GetApiV2ProjectsProjectidTaskAssignmentsIdResponse": "keito:GetApiV2ProjectsProjectidTaskAssignmentsIdResponse",
    "project": {
      "@id": "keito:project",
      "@type": "xsd:string"
    },
    "task": {
      "@id": "keito:task",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "keito:created_at",
      "@type": "xsd:string"
    },
    "updated_at": {
      "@id": "keito:updated_at",
      "@type": "xsd:string"
    },
    "hourly_rate": {
      "@id": "keito:hourly_rate",
      "@type": "xsd:decimal"
    },
    "budget": {
      "@id": "keito:budget",
      "@type": "xsd:decimal"
    },
    "PostApiV2ProjectsProjectidUserAssignmentsRequest": "keito:PostApiV2ProjectsProjectidUserAssignmentsRequest",
    "user_id": {
      "@id": "keito:user_id",
      "@type": "xsd:string"
    },
    "is_project_manager": {
      "@id": "keito:is_project_manager",
      "@type": "xsd:boolean"
    },
    "can_track_time": {
      "@id": "keito:can_track_time",
      "@type": "xsd:boolean"
    },
    "can_view_project_financials": {
      "@id": "keito:can_view_project_financials",
      "@type": "xsd:boolean"
    },
    "can_view_internal_costs": {
      "@id": "keito:can_view_internal_costs",
      "@type": "xsd:boolean"
    },
    "use_default_rates": {
      "@id": "keito:use_default_rates",
      "@type": "xsd:boolean"
    },
    "GetApiV2ProjectsProjectidUserAssignmentsIdResponse": "keito:GetApiV2ProjectsProjectidUserAssignmentsIdResponse",
    "user": {
      "@id": "keito:user",
      "@type": "xsd:string"
    },
    "PatchApiV2ProjectsProjectidUserAssignmentsIdRequest": "keito:PatchApiV2ProjectsProjectidUserAssignmentsIdRequest",
    "GetApiV2ReportsProjectBudgetResponse": "keito:GetApiV2ReportsProjectBudgetResponse",
    "per_page": {
      "@id": "keito:per_page",
      "@type": "xsd:integer"
    },
    "total_pages": {
      "@id": "keito:total_pages",
      "@type": "xsd:integer"
    },
    "total_entries": {
      "@id": "keito:total_entries",
      "@type": "xsd:integer"
    },
    "next_page": {
      "@id": "keito:next_page",
      "@type": "xsd:string"
    },
    "previous_page": {
      "@id": "keito:previous_page",
      "@type": "xsd:string"
    },
    "page": {
      "@id": "keito:page",
      "@type": "xsd:integer"
    },
    "links": {
      "@id": "keito:links"
    },
    "GetApiV2ReportsTimeClientsResponse": "keito:GetApiV2ReportsTimeClientsResponse",
    "summary": {
      "@id": "keito:summary"
    },
    "GetApiV2ReportsTimeProjectsResponse": "keito:GetApiV2ReportsTimeProjectsResponse",
    "GetApiV2ReportsTimeTasksResponse": "keito:GetApiV2ReportsTimeTasksResponse",
    "GetApiV2ReportsTimeTeamResponse": "keito:GetApiV2ReportsTimeTeamResponse",
    "GetApiV2ReportsUninvoicedResponse": "keito:GetApiV2ReportsUninvoicedResponse",
    "GetApiV2RolesResponse": "keito:GetApiV2RolesResponse",
    "first_name": {
      "@id": "keito:first_name",
      "@type": "xsd:string"
    },
    "last_name": {
      "@id": "keito:last_name",
      "@type": "xsd:string"
    },
    "email": {
      "@id": "keito:email",
      "@type": "xsd:string"
    },
    "roles": {
      "@id": "keito:roles",
      "@container": "@list"
    },
    "user_type": {
      "@id": "keito:user_type",
      "@type": "xsd:string"
    },
    "company": {
      "@id": "keito:company"
    },
    "GetApiV2TimeOffResponse": "keito:GetApiV2TimeOffResponse",
    "time_off": {
      "@id": "keito:time_off",
      "@container": "@list"
    },
    "GetApiV2UsersResponse": "keito:GetApiV2UsersResponse",
    "users": {
      "@id": "keito:users",
      "@container": "@list"
    },
    "PostApiV2UsersRequest": "keito:PostApiV2UsersRequest",
    "access_roles": {
      "@id": "keito:access_roles",
      "@container": "@list"
    },
    "GetApiV2UsersResponse2": "keito:GetApiV2UsersResponse2",
    "GetApiV2UsersIdResponse": "keito:GetApiV2UsersIdResponse",
    "employee_id": {
      "@id": "keito:employee_id",
      "@type": "xsd:string"
    },
    "is_contractor": {
      "@id": "keito:is_contractor",
      "@type": "xsd:boolean"
    },
    "weekly_capacity": {
      "@id": "keito:weekly_capacity",
      "@type": "xsd:integer"
    },
    "currency": {
      "@id": "keito:currency",
      "@type": "xsd:string"
    },
    "PatchApiV2UsersIdRequest": "keito:PatchApiV2UsersIdRequest",
    "default_hourly_rate": {
      "@id": "keito:default_hourly_rate",
      "@type": "xsd:string"
    },
    "GetApiV2UsersIdCostRatesResponse": "keito:GetApiV2UsersIdCostRatesResponse",
    "cost_rates": {
      "@id": "keito:cost_rates",
      "@container": "@list"
    },
    "PostApiV2UsersIdCostRatesRequest": "keito:PostApiV2UsersIdCostRatesRequest",
    "rate": {
      "@id": "keito:rate",
      "@type": "xsd:decimal"
    },
    "Idempotency-Key": {
      "@id": "keito:Idempotency-Key",
      "@type": "xsd:string"
    },
    "PostApiV2UsersIdCostRatesResponse": "keito:PostApiV2UsersIdCostRatesResponse",
    "cost_rate": {
      "@id": "keito:cost_rate"
    },
    "GetApiV2UsersIdProjectAssignmentsResponse": "keito:GetApiV2UsersIdProjectAssignmentsResponse",
    "project_assignments": {
      "@id": "keito:project_assignments",
      "@container": "@list"
    },
    "GetApiV2UsersIdTeammatesResponse": "keito:GetApiV2UsersIdTeammatesResponse",
    "teammates": {
      "@id": "keito:teammates",
      "@container": "@list"
    },
    "PostApiV2WebhooksRequest": "keito:PostApiV2WebhooksRequest",
    "url": {
      "@id": "keito:url",
      "@type": "xsd:string"
    },
    "events": {
      "@id": "keito:events",
      "@container": "@list"
    },
    "payload_version": {
      "@id": "keito:payload_version",
      "@type": "xsd:integer"
    },
    "secret": {
      "@id": "keito:secret",
      "@type": "xsd:string"
    },
    "PostApiV2WebhooksResponse": "keito:PostApiV2WebhooksResponse"
  },
  "@type": "schema:Dataset",
  "schema:name": "Keito API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Keito'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-11-13) from openapi/_ae-authored/keito-ai-openapi-generated.yml.",
  "dcterms:created": "2026-11-13",
  "dcterms:source": [
    "openapi/_ae-authored/keito-ai-openapi-generated.yml"
  ]
}