{"protocolVersion":"0.3.0","name":"Marketplace EMO B2B","description":"Cotiza y agenda Exámenes Médicos Ocupacionales (EMO) para empresas del Perú en clínicas ocupacionales acreditadas ante DIGESA y MINSA, conforme a la Ley 29783 y la RM 312-2011/MINSA. Uso exclusivo de empresas con RUC y API key corporativa. Cada mensaje indica la skill en message.metadata.skill y envía sus datos en una parte de tipo data (JSON).","url":"https://api.prevecontrol.pe/a2a","preferredTransport":"JSONRPC","additionalInterfaces":[{"url":"https://api.prevecon.pe/a2a","transport":"JSONRPC"}],"iconUrl":"https://market.prevecon.pe/SVG_Prevecon_LogoNavy.svg","provider":{"organization":"Trustlink Perú SAC","url":"https://trustlink-ai.com"},"version":"0.2.0","documentationUrl":"https://market.prevecon.pe/llms.txt","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"API key corporativa que PREVECON Marketplace emite a cada empresa cliente. Se solicita en comercial@prevecon.pe."}},"security":[{"bearer":[]}],"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"quote.create","name":"Cotizar EMO","description":"Cotiza los EMO de una empresa en una clínica de la red. Datos de entrada: clinicId e items, una lista de {protocolId o protocolCode, workerCount}. companyId solo hace falta si la credencial no identifica ya a la empresa. Devuelve la cotización con el precio final, lista para aceptar.","tags":["cotizacion","emo","salud-ocupacional","peru"],"examples":["{\"clinicId\": \"<id de la clínica>\", \"items\": [{\"protocolCode\": \"<código del protocolo>\", \"workerCount\": 25}]}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"appointment.create","name":"Agendar cita EMO","description":"Agenda la cita de un trabajador sobre una cotización aceptada. Datos de entrada: clinicId, patientId, protocolId y scheduledStart (ISO 8601); quoteId y scheduledEnd son opcionales. Responde con la cita pendiente de confirmación por la clínica; el estado final se consulta con tasks/get.","tags":["agendamiento","citas","emo"],"examples":["{\"quoteId\": \"<id de la cotización>\", \"clinicId\": \"<id de la clínica>\", \"patientId\": \"<id del trabajador>\", \"protocolId\": \"<id del protocolo>\", \"scheduledStart\": \"2026-10-20T08:00:00-05:00\"}"],"inputModes":["application/json"],"outputModes":["application/json"]}]}