{"id":618246,"name":"PrivateJet.com charter agent","description":"PrivateJet.com arranges private jet charter worldwide. PrivateJet.com LLC is an air charter broker. It is not a direct air carrier and does not have operational control of any aircraft. Every flight is operated by a properly licensed direct air carrier holding an FAA Part 135 or Part 121 certificate, or a foreign equivalent, which has full operational control of the flight. PrivateJet.com LLC arranges flights as agent for its clients under 14 CFR Part 295. This agent serves AI agents that act for travelers, with four skills: charter price estimates by aircraft category, airport lookup, aircraft information, and charter inquiries, which pass a traveler's trip and contact details to our charter team. Calls are JSON-RPC over HTTPS to the card's interface URL, and every call must carry the HTTP header A2A-Version: 1.0; there is no streaming and no push notification. Send one request per message: one sentence or one JSON object shaped like a skill's examples (a JSON object may also be sent as the text of a text part, up to 4 KB). Free-form chat is not supported. Every reply is a finished task with a text part for people and a JSON data part, and data.status always says exactly what happened. COMPLETED means the request was answered, and the parts are in an artifact. REJECTED means it was refused and FAILED that it could not be answered right now (data.status serviceUnavailable or internalError: try again in a few minutes); for both, the parts are in the status message. A request this agent cannot use ends COMPLETED with an 'Accepted request formats' artifact and data.status unrecognizedRequest, invalidRequest or unsupportedSkill, but a charter inquiry that was not sent never ends COMPLETED. Numbers in data parts may be written with a decimal point (4.0); read them as numbers. Prices are estimates in USD before taxes and fees, and our charter team confirms availability and the final all-inclusive price; this agent takes no bookings or payments. Trips to or from Ukraine, Russia, Iran, Belarus, North Korea or South Sudan are refused. Limits per client address: 10 price estimates or aircraft lookups, 30 airport lookups and 120 requests of any kind a minute, and 5 charter inquiries an hour and 10 a day (an IPv6 caller counts as its /64, or as its /56 for estimates, aircraft lookups and inquiries). Limits for all callers together: 60 estimates or aircraft lookups and 120 airport lookups a minute, and 10 charter inquiries an hour and 30 a day. Over a limit the reply is HTTP 429 with a Retry-After header; a request body over 16 KB gets HTTP 413, and HTTP 503 means the service is switched off for now. The latest 1,000 tasks are kept in memory and a restart clears them: GetTask reads one by id, ListTasks returns an empty list, tasks cannot be canceled, and a message that names a task id is refused. Stored tasks keep only the id of each message you send, not its content, and an inquiry's contact details are passed to our charter team, not kept by this agent. Privacy policy: https://privatejet.com/privacy-policy/","card_url":"https://privatejet.com/.well-known/agent-card.json","endpoint":"https://privatejet.com/api/a2a","protocol_version":"1.0","first_seen":"2026-11-13T23:15:18.606922+00:00","last_verified":"2026-11-14T17:27:20.703493+00:00","card":{"name":"PrivateJet.com charter agent","skills":[{"id":"charter-price-estimate","name":"Charter price estimate","tags":["private jet","charter","price estimate","charter cost","aviation"],"examples":["Miami to Teterboro on 2026-12-13, 4 passengers","Miami to Teterboro on 2026-12-13, 4 passengers, returning 2026-12-16","{\"departure\":\"Miami\",\"arrival\":\"Teterboro\",\"departureDate\":\"2026-12-13\",\"passengers\":4}","{\"departureCode\":\"KOPF\",\"arrivalCode\":\"KTEB\",\"departureDate\":\"2026-12-13\",\"passengers\":4}"],"inputModes":["text/plain","application/json"],"description":"Instant price estimates by aircraft category (for example Light Jet or Heavy Jet) for one route, one date and one passenger count, one way or round trip. Send one sentence, 'FROM to TO on YYYY-MM-DD, N passengers', optionally ending ', returning YYYY-MM-DD', or a JSON object with departure and arrival (place or airport names) or departureCode and arrivalCode (3- or 4-character ICAO or IATA codes), departureDate and passengers. Optional JSON fields: returnDate (on its own it makes the trip a round trip), flightType ('one_way' or 'round_trip'), departureTime and returnTime (HH:MM, 24-hour; defaults 09:00 and 17:00, which the sentence form always uses) and currency ('USD' only); snake_case spellings such as departure_date are accepted too. Dates run from today to 365 days ahead on the US Eastern calendar, and a same-day return must be later than the departure time. One route per request; multi-leg trips are not supported. Passengers: 1 to 260, but instant estimates normally cover up to 16; larger groups are usually answered noInstantQuote, because our team quotes group charters personally. Airports: a code is tried first, then the name, and a bare city name uses our default airport for that city (Miami KOPF, New York or NYC KTEB, Los Angeles KVNY, London EGLF, Paris LFPB, Geneva LSGG, Dubai OMDW). Names are matched by spelling in our airport database, not by distance, so check the airports named in the reply and send codes when a name could mean more than one place. data.status is priced (data.categories, each with category, fromPrice in USD, aircraftCount, maxPassengers, flightTimeHours and aircraftModels, plus data.notes and data.disclaimer), noInstantQuote (data.message says why), restrictedRoute or airportNotFound (both REJECTED; data.which names the airport side that was not found), or serviceUnavailable (FAILED: try again in a few minutes). Flight times are approximate. data.trip echoes the trip in the field names this skill accepts, and data.departure.code and data.arrival.code can be sent back as departureCode and arrivalCode. data.handoffUrl, when present, is for the traveler: opened in a web browser it shows the full results on privatejet.com, where they can ask for a personalized quote themselves. It is a page that submits a form, not an API, so do not fetch it. To have our team contact the traveler instead, send a charter-inquiry; use the handoffUrl or an inquiry for a trip, not both.","outputModes":["text/plain","application/json"]},{"id":"airport-lookup","name":"Airport lookup","tags":["airport","ICAO","IATA","lookup"],"examples":["{\"skill\":\"airport-lookup\",\"query\":\"Aspen\"}","{\"skill\":\"airport-lookup\",\"query\":\"Teterboro\",\"limit\":3}"],"inputModes":["text/plain","application/json"],"description":"Finds airports by city, airport name or code. Send JSON with skill 'airport-lookup', query (2 to 100 characters: letters, digits, spaces and . , ' ( ) / -, starting with a letter or digit) and optional limit (1 to 10, default 5), or set message.metadata.skill to 'airport-lookup' and send the query as the text. A 3- or 4-character query that is an airport's code returns only the airports with that code. Each airport has name, icao, iata, localCode, city, region and isoRegion (empty when unknown); its icao or iata code can be sent to charter-price-estimate as departureCode or arrivalCode. data.status is found (data.airports) or noMatch, and serviceUnavailable (FAILED) when the lookup service is down. Nicknames the airport database does not spell (St. Barts, St. Moritz) and names with 'Airport' added can come back noMatch: send the full place name (Saint Barthelemy, Samedan), its distinctive word (Ciampino) or a code instead. Airports in Ukraine, Russia, Iran, Belarus, North Korea and South Sudan are never listed, and data.notes says when some were left out.","outputModes":["text/plain","application/json"]},{"id":"aircraft-info","name":"Aircraft information","tags":["aircraft","private jet","specifications","cabin"],"examples":["{\"skill\":\"aircraft-info\",\"query\":\"Citation CJ3\"}","{\"skill\":\"aircraft-info\",\"query\":\"Phenom 300\",\"maxResults\":3}"],"inputModes":["text/plain","application/json"],"description":"Aircraft model details from our aircraft database: category, passenger capacity, cabin length, width and height in feet, and Wi-Fi. Send JSON with skill 'aircraft-info', query (a model name, 2 to 100 characters, the same characters as airport-lookup), optional category (very_light_jet, super_light_jet, light_jet, midsize_jet, super_midsize_jet, heavy_jet, ultra_long_range, helicopter, turboprop, piston, airliner, airliner_regional or vip_airliner) and optional maxResults (1 to 10, default 5), or set message.metadata.skill to 'aircraft-info' and send the model name as the text. Each aircraft has model, category, passengerCapacity, cabinDimensions (lengthFt, widthFt and heightFt, null when unknown) and wifiAvailable, which is true only when Wi-Fi is recorded for the model, so false can also mean unknown. data.status is found (data.aircraft) or noMatch, and serviceUnavailable (FAILED) when the service is down. Figures describe the model in general; a specific aircraft can differ.","outputModes":["text/plain","application/json"]},{"id":"charter-inquiry","name":"Charter inquiry","tags":["private jet","charter","inquiry","quote request","group charter"],"examples":["{\"skill\":\"charter-inquiry\",\"departureCode\":\"KOPF\",\"arrivalCode\":\"KTEB\",\"departureDate\":\"2026-12-13\",\"passengers\":4,\"firstName\":\"Jane\",\"lastName\":\"Doe\",\"email\":\"jane.doe@example.com\",\"phone\":\"+1 305 555 0100\",\"travelerConsent\":true,\"preferredCategory\":\"Light Jet\"}","{\"skill\":\"charter-inquiry\",\"departure\":\"Van Nuys\",\"arrival\":\"Aspen\",\"departureDate\":\"2026-12-13\",\"returnDate\":\"2026-12-16\",\"passengers\":6,\"firstName\":\"Sam\",\"lastName\":\"Lee\",\"email\":\"sam.lee@example.com\",\"travelerConsent\":true,\"notes\":\"Dates flexible by one day; two small dogs\"}","{\"skill\":\"charter-inquiry\",\"departure\":\"Teterboro\",\"arrival\":\"Nice\",\"departureDate\":\"2026-12-13\",\"passengers\":24,\"firstName\":\"Ana\",\"lastName\":\"Silva\",\"email\":\"ana.silva@example.com\",\"phone\":\"+44 20 7946 0000\",\"travelerConsent\":true,\"notes\":\"Company offsite; one aircraft preferred\"}"],"inputModes":["text/plain","application/json"],"description":"Sends a traveler's charter inquiry, with their contact details, to the PrivateJet.com charter team. An account manager then contacts the traveler to confirm aircraft availability and the final all-inclusive price; nothing is booked or charged through this agent. Send it only when the traveler has asked you to: to get a firm quote, to book, to be called back, or for a group of 17 or more. Send one JSON object with skill 'charter-inquiry' (always required, in the object or in message.metadata.skill; an inquiry is never inferred from its fields), the trip in the same JSON fields as charter-price-estimate, firstName, lastName, email, travelerConsent and, if the traveler gives one, phone. No earlier estimate is needed; an estimate's data.trip, with data.departure.code and data.arrival.code sent as departureCode and arrivalCode, can be reused as it is. travelerConsent must be the JSON value true: it states that the traveler asked you to send this inquiry and agreed that PrivateJet.com may contact them about it by email, and by phone when one is given, as described in our privacy policy (https://privatejet.com/privacy-policy/). firstName and lastName: letters, spaces, hyphens, apostrophes and periods, starting with a letter, up to 50 characters each. email: the traveler's real address, on a domain that accepts mail. phone: international format starting with + and the country code, for example +1 305 555 0100; with a phone our team can call, without one they reply by email. Optional: preferredCategory (a category name from an estimate, for example Light Jet) and notes (plain text up to 500 characters, with no links, web or email addresses, or angle brackets: flexible dates, luggage, pets, catering). snake_case spellings such as first_name are accepted too. The trip is priced again when the inquiry arrives; data.departure, data.arrival and data.trip in the reply show what was sent, so check them. data.status is sent (COMPLETED: our charter team has the inquiry, and data.reference, such as A2A-7K3Q9XMB, is for the traveler to quote); invalidRequest, restrictedRoute, airportNotFound, inquiryLimitReached or unsupportedSkill (REJECTED: nothing was sent); unconfirmed (FAILED: it may have arrived; resend the identical request after a minute and it will not create a second lead; it is sent again at most twice, and after that the reply says not to resend; a resend needs a free slot under the limits below and gets it back unless it is sent again, so on HTTP 429 resend after its Retry-After); serviceUnavailable (FAILED: nothing was sent; try again in a few minutes); or internalError (FAILED; resending the identical request later is safe). An identical request resent within 24 hours returns the first result, or completes an unconfirmed one, instead of sending again, unless the service has restarted in between. Limits: 5 inquiries an hour and 10 a day per client address (an inquiry refused before anything is sent does not count; a resend that is sent again does), and at most 2 inquiries sent in 24 hours for the same email inbox or phone (letter case, dots in Gmail addresses and +tags do not make a new inbox). Each inquiry is priced again, so it also needs a free estimate slot (the estimate limits above) and keeps it whenever its pricing call ran. Per client address, one inquiry is processed at a time, and at most 20 inquiries an hour may end without being sent (refused, or answered from an identical earlier request), counted apart from the limits above; over either, the reply is HTTP 429 with a Retry-After header. The reply never repeats the contact details. Do not send payment, passport or health details. The email addresses in the examples are placeholders and are refused. Privacy requests: charter@privatejet.com.","outputModes":["text/plain","application/json"]}],"version":"1.1.0","provider":{"url":"https://privatejet.com","organization":"PrivateJet.com"},"description":"PrivateJet.com arranges private jet charter worldwide. PrivateJet.com LLC is an air charter broker. It is not a direct air carrier and does not have operational control of any aircraft. Every flight is operated by a properly licensed direct air carrier holding an FAA Part 135 or Part 121 certificate, or a foreign equivalent, which has full operational control of the flight. PrivateJet.com LLC arranges flights as agent for its clients under 14 CFR Part 295. This agent serves AI agents that act for travelers, with four skills: charter price estimates by aircraft category, airport lookup, aircraft information, and charter inquiries, which pass a traveler's trip and contact details to our charter team. Calls are JSON-RPC over HTTPS to the card's interface URL, and every call must carry the HTTP header A2A-Version: 1.0; there is no streaming and no push notification. Send one request per message: one sentence or one JSON object shaped like a skill's examples (a JSON object may also be sent as the text of a text part, up to 4 KB). Free-form chat is not supported. Every reply is a finished task with a text part for people and a JSON data part, and data.status always says exactly what happened. COMPLETED means the request was answered, and the parts are in an artifact. REJECTED means it was refused and FAILED that it could not be answered right now (data.status serviceUnavailable or internalError: try again in a few minutes); for both, the parts are in the status message. A request this agent cannot use ends COMPLETED with an 'Accepted request formats' artifact and data.status unrecognizedRequest, invalidRequest or unsupportedSkill, but a charter inquiry that was not sent never ends COMPLETED. Numbers in data parts may be written with a decimal point (4.0); read them as numbers. Prices are estimates in USD before taxes and fees, and our charter team confirms availability and the final all-inclusive price; this agent takes no bookings or payments. Trips to or from Ukraine, Russia, Iran, Belarus, North Korea or South Sudan are refused. Limits per client address: 10 price estimates or aircraft lookups, 30 airport lookups and 120 requests of any kind a minute, and 5 charter inquiries an hour and 10 a day (an IPv6 caller counts as its /64, or as its /56 for estimates, aircraft lookups and inquiries). Limits for all callers together: 60 estimates or aircraft lookups and 120 airport lookups a minute, and 10 charter inquiries an hour and 30 a day. Over a limit the reply is HTTP 429 with a Retry-After header; a request body over 16 KB gets HTTP 413, and HTTP 503 means the service is switched off for now. The latest 1,000 tasks are kept in memory and a restart clears them: GetTask reads one by id, ListTasks returns an empty list, tasks cannot be canceled, and a message that names a task id is refused. Stored tasks keep only the id of each message you send, not its content, and an inquiry's contact details are passed to our charter team, not kept by this agent. Privacy policy: https://privatejet.com/privacy-policy/","capabilities":{"streaming":false,"pushNotifications":false},"documentationUrl":"https://privatejet.com/","defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"supportedInterfaces":[{"url":"https://privatejet.com/api/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}]},"status":"verified","publisher_domain":"privatejet.com","signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-11-14T17:27:20.703493+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Publisher Agent Card","source_url":"https://privatejet.com/.well-known/agent-card.json","last_check":{"checked_at":"2026-11-14T17:27:20.703493+00:00","success":true,"http_status":304,"detail":"Agent Card unchanged; conditional HTTP 304 validated"},"also_published_at":[],"history_urls":["https://privatejet.com/.well-known/agent-card.json"],"skills":[{"skill_id":"aircraft-info","name":"Aircraft information","description":"Aircraft model details from our aircraft database: category, passenger capacity, cabin length, width and height in feet, and Wi-Fi. Send JSON with skill 'aircraft-info', query (a model name, 2 to 100 characters, the same characters as airport-lookup), optional category (very_light_jet, super_light_jet, light_jet, midsize_jet, super_midsize_jet, heavy_jet, ultra_long_range, helicopter, turboprop, piston, airliner, airliner_regional or vip_airliner) and optional maxResults (1 to 10, default 5), or set message.metadata.skill to 'aircraft-info' and send the model name as the text. Each aircraft has model, category, passengerCapacity, cabinDimensions (lengthFt, widthFt and heightFt, null when unknown) and wifiAvailable, which is true only when Wi-Fi is recorded for the model, so false can also mean unknown. data.status is found (data.aircraft) or noMatch, and serviceUnavailable (FAILED) when the service is down. Figures describe the model in general; a specific aircraft can differ.","tags":["aircraft","private jet","specifications","cabin"],"quality_warning":false},{"skill_id":"airport-lookup","name":"Airport lookup","description":"Finds airports by city, airport name or code. Send JSON with skill 'airport-lookup', query (2 to 100 characters: letters, digits, spaces and . , ' ( ) / -, starting with a letter or digit) and optional limit (1 to 10, default 5), or set message.metadata.skill to 'airport-lookup' and send the query as the text. A 3- or 4-character query that is an airport's code returns only the airports with that code. Each airport has name, icao, iata, localCode, city, region and isoRegion (empty when unknown); its icao or iata code can be sent to charter-price-estimate as departureCode or arrivalCode. data.status is found (data.airports) or noMatch, and serviceUnavailable (FAILED) when the lookup service is down. Nicknames the airport database does not spell (St. Barts, St. Moritz) and names with 'Airport' added can come back noMatch: send the full place name (Saint Barthelemy, Samedan), its distinctive word (Ciampino) or a code instead. Airports in Ukraine, Russia, Iran, Belarus, North Korea and South Sudan are never listed, and data.notes says when some were left out.","tags":["airport","ICAO","IATA","lookup"],"quality_warning":false},{"skill_id":"charter-inquiry","name":"Charter inquiry","description":"Sends a traveler's charter inquiry, with their contact details, to the PrivateJet.com charter team. An account manager then contacts the traveler to confirm aircraft availability and the final all-inclusive price; nothing is booked or charged through this agent. Send it only when the traveler has asked you to: to get a firm quote, to book, to be called back, or for a group of 17 or more. Send one JSON object with skill 'charter-inquiry' (always required, in the object or in message.metadata.skill; an inquiry is never inferred from its fields), the trip in the same JSON fields as charter-price-estimate, firstName, lastName, email, travelerConsent and, if the traveler gives one, phone. No earlier estimate is needed; an estimate's data.trip, with data.departure.code and data.arrival.code sent as departureCode and arrivalCode, can be reused as it is. travelerConsent must be the JSON value true: it states that the traveler asked you to send this inquiry and agreed that PrivateJet.com may contact them about it by email, and by phone when one is given, as described in our privacy policy (https://privatejet.com/privacy-policy/). firstName and lastName: letters, spaces, hyphens, apostrophes and periods, starting with a letter, up to 50 characters each. email: the traveler's real address, on a domain that accepts mail. phone: international format starting with + and the country code, for example +1 305 555 0100; with a phone our team can call, without one they reply by email. Optional: preferredCategory (a category name from an estimate, for example Light Jet) and notes (plain text up to 500 characters, with no links, web or email addresses, or angle brackets: flexible dates, luggage, pets, catering). snake_case spellings such as first_name are accepted too. The trip is priced again when the inquiry arrives; data.departure, data.arrival and data.trip in the reply show what was sent, so check them. data.status is sent (COMPLETED: our charter team has the inquiry, and data.refe","tags":["private jet","charter","inquiry","quote request","group charter"],"quality_warning":false},{"skill_id":"charter-price-estimate","name":"Charter price estimate","description":"Instant price estimates by aircraft category (for example Light Jet or Heavy Jet) for one route, one date and one passenger count, one way or round trip. Send one sentence, 'FROM to TO on YYYY-MM-DD, N passengers', optionally ending ', returning YYYY-MM-DD', or a JSON object with departure and arrival (place or airport names) or departureCode and arrivalCode (3- or 4-character ICAO or IATA codes), departureDate and passengers. Optional JSON fields: returnDate (on its own it makes the trip a round trip), flightType ('one_way' or 'round_trip'), departureTime and returnTime (HH:MM, 24-hour; defaults 09:00 and 17:00, which the sentence form always uses) and currency ('USD' only); snake_case spellings such as departure_date are accepted too. Dates run from today to 365 days ahead on the US Eastern calendar, and a same-day return must be later than the departure time. One route per request; multi-leg trips are not supported. Passengers: 1 to 260, but instant estimates normally cover up to 16; larger groups are usually answered noInstantQuote, because our team quotes group charters personally. Airports: a code is tried first, then the name, and a bare city name uses our default airport for that city (Miami KOPF, New York or NYC KTEB, Los Angeles KVNY, London EGLF, Paris LFPB, Geneva LSGG, Dubai OMDW). Names are matched by spelling in our airport database, not by distance, so check the airports named in the reply and send codes when a name could mean more than one place. data.status is priced (data.categories, each with category, fromPrice in USD, aircraftCount, maxPassengers, flightTimeHours and aircraftModels, plus data.notes and data.disclaimer), noInstantQuote (data.message says why), restrictedRoute or airportNotFound (both REJECTED; data.which names the airport side that was not found), or serviceUnavailable (FAILED: try again in a few minutes). Flight times are approximate. data.trip echoes the trip in the field names this skill accepts, and data.departure.code and d","tags":["private jet","charter","price estimate","charter cost","aviation"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":3,"passed":3},"recent_checks":[{"card_url":"https://privatejet.com/.well-known/agent-card.json","checked_at":"2026-11-14T17:27:20.703493+00:00","success":true,"http_status":304,"detail":"Agent Card unchanged; conditional HTTP 304 validated"},{"card_url":"https://privatejet.com/.well-known/agent-card.json","checked_at":"2026-11-14T05:23:07.318213+00:00","success":true,"http_status":304,"detail":"Agent Card unchanged; conditional HTTP 304 validated"},{"card_url":"https://privatejet.com/.well-known/agent-card.json","checked_at":"2026-11-13T23:15:18.606922+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-11-14T17:27:20.703493+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-11-13T23:15:18.606922+00:00","endpoint":"https://privatejet.com/api/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","request_diagnostics":{"requests":[{"path":"/api/a2a","allow":[],"method":"POST","status":200,"version_header":"1.0","protocol_method":"GetTask","redirect_followed":false}],"capture_version":1}},"declared_primary_endpoint":"https://privatejet.com/api/a2a","selected_connection_interface":{"url":"https://privatejet.com/api/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"},"protocol_interface_checks":[{"endpoint":"https://privatejet.com/api/a2a","protocol_binding":"JSONRPC","protocol_version":"1.0","selected":true,"state":"a2a_response","checked_at":"2026-11-13T23:15:18.606922+00:00","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup","binding_recorded":true}],"connection_selection_note":"The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.","x402_price_check":null,"events":[],"relationships":[],"verification":{"agent_card_url":"https://privatejet.com/.well-known/agent-card.json","last_successful_card_check":"2026-11-14T17:27:20.703493+00:00","latest_card_check":{"checked_at":"2026-11-14T17:27:20.703493+00:00","success":true,"http_status":304,"detail":"Agent Card unchanged; conditional HTTP 304 validated"},"signature_status":"unsigned","signature_checked_at":"2026-11-14T17:27:20.703493+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-11-14T17:27:20.703493+00:00","endpoint_tls_reachable":true,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-11-13T23:15:18.606922+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null},"synthetic_capability_tests":{"agent_id":618246,"status":"not_tested","reason_code":"not_yet_tested","consent_status":"not_confirmed","latest_observation_status":null,"last_checked_at":null,"fixture_version":"1","reference_demonstration":false,"scope":"A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.","methodology_url":"https://localmark.ai/capability-tests","history":[]},"repair_links":{"agent_repair_url":"https://localmark.ai/agents/618246/repair","publisher_report_url":"https://localmark.ai/publishers/privatejet.com/repair","diagnostics_json_url":"https://localmark.ai/publishers/privatejet.com/repair/diagnostics.json","diagnostics_csv_url":"https://localmark.ai/publishers/privatejet.com/repair/diagnostics.csv"},"_localmark":{"contribution":{"optional":true,"directory_access":"free","operator_authorization_required":true,"affects_rankings":false,"message":"LocalMark is free. Optional contributions help fund ongoing checks.","support_url":"https://localmark.ai/support","metadata_url":"https://localmark.ai/api/v1/support/contributions"}}}