{
  "@context": {
    "@vocab": "https://ribbon.ai/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "ribbon": "https://ribbon.ai/schema#",
    "Error": "ribbon:Error",
    "code": {
      "@id": "ribbon:code",
      "@type": "xsd:integer"
    },
    "status": {
      "@id": "ribbon:status",
      "@type": "xsd:string"
    },
    "message": {
      "@id": "ribbon:message",
      "@type": "xsd:string"
    },
    "errors": {
      "@id": "ribbon:errors"
    },
    "PaginationMetadata": "ribbon:PaginationMetadata",
    "total": {
      "@id": "ribbon:total",
      "@type": "xsd:integer"
    },
    "total_pages": {
      "@id": "ribbon:total_pages",
      "@type": "xsd:integer"
    },
    "first_page": {
      "@id": "ribbon:first_page",
      "@type": "xsd:integer"
    },
    "last_page": {
      "@id": "ribbon:last_page",
      "@type": "xsd:integer"
    },
    "page": {
      "@id": "ribbon:page",
      "@type": "xsd:integer"
    },
    "previous_page": {
      "@id": "ribbon:previous_page",
      "@type": "xsd:integer"
    },
    "next_page": {
      "@id": "ribbon:next_page",
      "@type": "xsd:integer"
    },
    "PingResponse": "ribbon:PingResponse",
    "Team": "ribbon:Team",
    "id": {
      "@id": "ribbon:id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "ribbon:name",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "ribbon:created_at",
      "@type": "xsd:string"
    },
    "GetTeamsResponse": "ribbon:GetTeamsResponse",
    "teams": {
      "@id": "ribbon:teams",
      "@container": "@list"
    },
    "ErrorResponse": "ribbon:ErrorResponse",
    "Word": "ribbon:Word",
    "end": {
      "@id": "ribbon:end",
      "@type": "xsd:decimal"
    },
    "start": {
      "@id": "ribbon:start",
      "@type": "xsd:decimal"
    },
    "word": {
      "@id": "ribbon:word",
      "@type": "xsd:string"
    },
    "Segment": "ribbon:Segment",
    "content": {
      "@id": "ribbon:content",
      "@type": "xsd:string"
    },
    "role": {
      "@id": "ribbon:role",
      "@type": "xsd:string"
    },
    "words": {
      "@id": "ribbon:words",
      "@container": "@list"
    },
    "BaseSegment": "ribbon:BaseSegment",
    "QuestionToTranscriptMapping": "ribbon:QuestionToTranscriptMapping",
    "script_question": {
      "@id": "ribbon:script_question",
      "@type": "xsd:string"
    },
    "transcript_item_indices": {
      "@id": "ribbon:transcript_item_indices",
      "@container": "@list"
    },
    "start_timestamp": {
      "@id": "ribbon:start_timestamp",
      "@type": "xsd:decimal"
    },
    "end_timestamp": {
      "@id": "ribbon:end_timestamp",
      "@type": "xsd:decimal"
    },
    "transcript_items": {
      "@id": "ribbon:transcript_items",
      "@container": "@list"
    },
    "CustomScoreValue": "ribbon:CustomScoreValue",
    "score": {
      "@id": "ribbon:score",
      "@type": "xsd:decimal"
    },
    "scoring_system": {
      "@id": "ribbon:scoring_system",
      "@type": "xsd:string"
    },
    "InterviewData": "ribbon:InterviewData",
    "transcript": {
      "@id": "ribbon:transcript",
      "@type": "xsd:string"
    },
    "transcript_with_timestamp": {
      "@id": "ribbon:transcript_with_timestamp",
      "@container": "@list"
    },
    "questions_to_transcript_mapping": {
      "@id": "ribbon:questions_to_transcript_mapping",
      "@container": "@list"
    },
    "video_url": {
      "@id": "ribbon:video_url",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "ribbon:summary",
      "@type": "xsd:string"
    },
    "scores": {
      "@id": "ribbon:scores",
      "@container": "@list"
    },
    "interviewee_email_address": {
      "@id": "ribbon:interviewee_email_address",
      "@type": "xsd:string"
    },
    "interviewee_first_name": {
      "@id": "ribbon:interviewee_first_name",
      "@type": "xsd:string"
    },
    "interviewee_last_name": {
      "@id": "ribbon:interviewee_last_name",
      "@type": "xsd:string"
    },
    "Interview": "ribbon:Interview",
    "interview_flow_id": {
      "@id": "ribbon:interview_flow_id",
      "@type": "xsd:string"
    },
    "interview_id": {
      "@id": "ribbon:interview_id",
      "@type": "xsd:string"
    },
    "team_id": {
      "@id": "ribbon:team_id",
      "@type": "xsd:string"
    },
    "started_at": {
      "@id": "ribbon:started_at",
      "@type": "xsd:string"
    },
    "ended_at": {
      "@id": "ribbon:ended_at",
      "@type": "xsd:string"
    },
    "interview_data": {
      "@id": "ribbon:interview_data"
    },
    "GetInterviewsResponse": "ribbon:GetInterviewsResponse",
    "interviews": {
      "@id": "ribbon:interviews",
      "@container": "@list"
    },
    "DeleteInterviewResponse": "ribbon:DeleteInterviewResponse",
    "success": {
      "@id": "ribbon:success",
      "@type": "xsd:boolean"
    },
    "PostInterviewRequest": "ribbon:PostInterviewRequest",
    "assigned_recruiter_id": {
      "@id": "ribbon:assigned_recruiter_id",
      "@type": "xsd:string"
    },
    "PostInterviewResponse": "ribbon:PostInterviewResponse",
    "interview_link": {
      "@id": "ribbon:interview_link",
      "@type": "xsd:string"
    },
    "hint": {
      "@id": "ribbon:hint",
      "@type": "xsd:string"
    },
    "InterviewFlow": "ribbon:InterviewFlow",
    "org_name": {
      "@id": "ribbon:org_name",
      "@type": "xsd:string"
    },
    "title": {
      "@id": "ribbon:title",
      "@type": "xsd:string"
    },
    "questions": {
      "@id": "ribbon:questions",
      "@container": "@list"
    },
    "voice_id": {
      "@id": "ribbon:voice_id"
    },
    "language": {
      "@id": "ribbon:language"
    },
    "company_logo_url": {
      "@id": "ribbon:company_logo_url",
      "@type": "xsd:string"
    },
    "additional_info": {
      "@id": "ribbon:additional_info",
      "@type": "xsd:string"
    },
    "additional_instructions": {
      "@id": "ribbon:additional_instructions",
      "@type": "xsd:string"
    },
    "interview_type": {
      "@id": "ribbon:interview_type",
      "@type": "xsd:string"
    },
    "is_video_enabled": {
      "@id": "ribbon:is_video_enabled",
      "@type": "xsd:boolean"
    },
    "is_doc_upload_enabled": {
      "@id": "ribbon:is_doc_upload_enabled",
      "@type": "xsd:boolean"
    },
    "redirect_url": {
      "@id": "ribbon:redirect_url",
      "@type": "xsd:string"
    },
    "webhook_url": {
      "@id": "ribbon:webhook_url",
      "@type": "xsd:string"
    },
    "webhook_secret_key": {
      "@id": "ribbon:webhook_secret_key",
      "@type": "xsd:string"
    },
    "intro": {
      "@id": "ribbon:intro",
      "@type": "xsd:string"
    },
    "outro": {
      "@id": "ribbon:outro",
      "@type": "xsd:string"
    },
    "GetInterviewFlowsResponse": "ribbon:GetInterviewFlowsResponse",
    "interview_flows": {
      "@id": "ribbon:interview_flows",
      "@container": "@list"
    },
    "DeleteInterviewFlowResponse": "ribbon:DeleteInterviewFlowResponse",
    "TeamMember": "ribbon:TeamMember",
    "email": {
      "@id": "ribbon:email",
      "@type": "xsd:string"
    },
    "full_name": {
      "@id": "ribbon:full_name",
      "@type": "xsd:string"
    },
    "GetTeamMembersResponse": "ribbon:GetTeamMembersResponse",
    "team_members": {
      "@id": "ribbon:team_members",
      "@container": "@list"
    },
    "PostInterviewFlowsRequest": "ribbon:PostInterviewFlowsRequest",
    "preamble_video_url": {
      "@id": "ribbon:preamble_video_url",
      "@type": "xsd:string"
    },
    "PostInterviewFlowsResponse": "ribbon:PostInterviewFlowsResponse"
  },
  "@type": "schema:Dataset",
  "schema:name": "Ribbon API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Ribbon'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-29) from openapi/_original/api-spec.json.",
  "dcterms:created": "2026-10-29",
  "dcterms:source": [
    "openapi/_original/api-spec.json"
  ]
}