Invoke Instance Operation
The FHIR instance-level operation invocation allows you to invoke a custom or standard operation on a specific resource instance. This is done using an HTTP POST or GET request to the operation endpoint for the resource instance.
- CLI
- TypeScript Client
- cURL
Invoke the registration-info operation on a IdentityProvider resource using the Haste Health CLI:
cargo run api invoke-type IdentityProvider id registration-info --data '{"resourceType": "Parameters", "parameter":[]}'
Where params.json contains:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "start",
"valueDate": "2025-01-01"
}
]
}
Invoke an instance-level operation using the TypeScript client:
import { AsynchronousClient } from '@haste-health/client';
import { R4 } from '@haste-health/fhir-types/versions';
import { Parameters } from '@haste-health/fhir-types/r4/types';
// Assuming you have a configured client
const client: AsynchronousClient<{}> = /* ... */;
const params: Parameters = {resourceType: "Parameters", parameter:[]};
const result = await client.invoke_instance(
{},
R4,
'IdentityProvider',
'id',
'registration-info',
params
);
console.log('Operation result:', result);
Invoke the $registration-info operation on a IdentityProvider resource using cURL:
curl -X POST "https://api.haste.health/w/[tenant]/[project]/api/v1/fhir/r4/IdentityProvider/my-id/\$registration-info" \
-H "Content-Type: application/fhir+json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{"resourceType": "Parameters", "parameter":[]}'
Replace [tenant] with your tenant name and [project] with your project ID.
Error Handling
If there are any issues with the request (e.g., invalid parameters, operation not supported), the server will respond with an appropriate error status code and include an OperationOutcome resource in the response body.
HTTP/1.1 400 Bad Request
Content-Type: application/fhir+json
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"diagnostics": "Missing required parameter: start"
}
]
}