Upload custom FHIR profile (deprecated)

Deprecated — use POST /fhir/profiles instead. This route continues to work
and operates on the same custom profiles, so no migration is required; it
will be removed in a future release. Note that POST /fhir/profiles does not
accept profile_context; set implementation-guide context with
PUT /fhir/implementation-guides/{name}.

Upload a custom FHIR StructureDefinition profile for use with the lang2fhir service.

All metadata is derived from the StructureDefinition JSON itself. The lowercase id field
from the StructureDefinition is used as the profile's unique identifier and lookup key.
To use the uploaded profile with /lang2fhir/create, pass this id as the resource parameter.

Uploads will be rejected if:

  • A built-in US Core or R4 base profile already exists with the same id
  • A custom profile with the same id has already been uploaded
  • A custom profile with the same url has already been uploaded
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Base64 encoded JSON string of a FHIR StructureDefinition. The profile must include id, url, type, and a snapshot with elements. All metadata (version, resource type, identifier) is derived from the StructureDefinition itself. The lowercase id from the StructureDefinition becomes the profile's lookup key.

string

Implementation Guide name to group this profile under. Defaults to "custom" if omitted. Cannot be "us_core" (reserved). Use this to organize custom profiles into named IGs that can be referenced when calling create/multi or document/multi endpoints.

string
length ≤ 2000

Natural language context that helps the LLM select the right profiles from this implementation guide during resource detection. For example, "When the text mentions phenotypic features or abnormalities, prefer the hpo-observation profile over Condition." This is stored as IG-level metadata and injected into the LLM prompt. Max 2000 characters. Providing this field on any upload will update the context for the entire IG (last write wins).

Responses

400

Invalid request or profile validation failed. Possible reasons:

  • Missing or invalid StructureDefinition JSON
  • Missing required fields (id, url, type, snapshot with elements)
  • A built-in US Core or R4 base profile exists with the same id
  • A custom profile with the same id or url already exists
401

Unauthorized

403

Forbidden - profile upload is only available on dedicated instances

500

Server error

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json