POST /api/eudract/trials
Price: 10 credits
Full EU Clinical Trial Application form of one EudraCT trial: title, sponsors and funding, the medical condition with its MedDRA terms, objectives, inclusion and exclusion criteria, end points, trial scope and phase, design and comparators, the recruited population and planned subject counts, every investigational medicinal product with its trade name, INN, CAS number, pharmaceutical form and authorisation status, and one record per member state carrying that country's competent-authority decision, ethics-committee opinion, site count and end-of-trial status.
One EudraCT number is not one record: a multi-state trial files a separate application in every member state, and `member_state_records` is where those diverge — decisions, ethics opinions, site counts and end-of-trial status differ between them while the protocol above is shared. The register has no not-found status code, so this endpoint gates on the number being echoed back and answers 412 when it is not. `form_fields` carries every remaining line of the application form verbatim, keyed by its EU CTA code, for the sections the named fields do not promote. Results of the trial are not here: they are published as separate result tables the register serves on its own results page.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)trial string required — EudraCT number, or a register URL containing one (examples: "2007-000570-22", "https://www.clinicaltrialsregister.eu/ctr-search/trial/2007-000570-22/DE"; minLength: 1)@type string (default: "EudractTrial")id string requiredurl string (default: "")sponsor_protocol_code string nullablesponsors array (default: [])@type string (default: "EudractSponsor")name string (default: "")country string nullablestatus string nullablesupport_organisations array (default: [])contact_organisation string nullablecontact_point string nullableis_paediatric_investigation_plan string nullablepaediatric_decision_number string nullablemedical_condition string nullablemeddra_terms array (default: [])@type string (default: "EudractMeddraTerm")term string (default: "")classification_code string nullablelevel string nullablesystem_organ_class string nullableversion string nullableis_rare_disease boolean nullablemain_objective string nullablesecondary_objectives string nullablehas_substudy boolean nullableinclusion_criteria string nullableexclusion_criteria string nullableprimary_end_points string nullablesecondary_end_points string nullabletrial_scopes array (default: [])phases array (default: [])design array (default: [])comparators array (default: [])age_groups array (default: [])sexes array (default: [])subject_groups array (default: [])is_multinational boolean nullablesites_in_eea integer nullableis_conducted_inside_and_outside_eea boolean nullableis_conducted_outside_eea boolean nullableregions_outside_eea string nullablehas_data_monitoring_committee boolean nullableplanned_duration_months integer nullableplanned_subjects_in_eea integer nullableplanned_subjects_in_whole_trial integer nullablemember_states array (default: [])trial_statuses array (default: [])member_state_records array (default: [])@type string (default: "EudractMemberStateRecord")member_state string (default: "")national_competent_authority string nullableclinical_trial_type string nullabletrial_status string nullablefirst_entered_date string nullableurl string nullablecompetent_authority_decision string nullablecompetent_authority_decision_date string nullableethics_committee_opinion string nullableethics_committee_opinion_date string nullableethics_committee_unfavourable_reason string nullableend_of_trial_status string nullableglobal_end_date string nullableplanned_subjects_in_member_state integer nullablesites_in_member_state integer nullableplanned_duration_months integer nullableproducts array (default: [])@type string (default: "EudractProduct")number string (default: "")role string nullableproduct_name string nullableproduct_code string nullabletrade_name string nullablemarketing_authorisation_holder string nullablemarketing_authorisation_country string nullablehas_marketing_authorisation boolean nullableis_orphan_drug boolean nullableorphan_designation_number string nullablepharmaceutical_form string nullableroutes_of_administration string nullablesubstances array (default: [])product_fields array (default: [])form_fields array (default: [])@type string (default: "EudractFormField")code string (default: "")label string (default: "")value string (default: "")422 — The input did not contain a EudraCT number in the form YYYY-NNNNNN-NN. Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No EU Clinical Trials Register record carries that EudraCT number. Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.