Here you can see an example:

ClassMethod ImportRawMatches() As %DynamicObject
{
    Try {
        Do ##class(%REST.Impl).%SetContentType("application/json")
        If '##class(%REST.Impl).%CheckAccepts("application/json") Do ##class(%REST.Impl).%ReportRESTError(..#HTTP406NOTACCEPTABLE,$$$ERROR($$$RESTBadAccepts)) Quit
        
        set newRequest = ##class(QUINIELA.Message.OperationRequest).%New()
        set newRequest.Operation = "Import"
        
        set status = ##class(Ens.Director).CreateBusinessService("QUINIELA.BS.FromWSBS", .instance)
       	set response = ##class(QUINIELA.Message.ImportResponse).%New()
        set response.Status = "In Process"
        set response.Operation = "Import"
        set status = instance.SendRequestAsync("QUINIELA.BP.ImportBPL", newRequest, .response)
        
        if $ISOBJECT(response) {	        
            Do ##class(%REST.Impl).%SetStatusCode("200")
            return response.%JSONExport()
		}		
        
    } Catch (ex) {
        Do ##class(%REST.Impl).%SetStatusCode("400")
        return ex.DisplayString()
    }

The key is this row:

return response.%JSONExport()

Well, in theory if you define the identifier in the request section and define the method as "PUT" the server should create the organization if it doesn't exist or updated if it do.

<?xml version="1.0" encoding="UTF-8"?>
<Bundle xmlns="http://hl7.org/fhir">
    <type value="transaction"> </type>
    <entry>
        <resource>
            <Organization>
                <id value="17C7D86E-664F-4FE2-91D7-AF9A8E47311E"></id>
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml"> LITTLE CLINIC 2000 PATIENT DRIVE ANN
                        ARBOR MI US - NOI # 888333111 </div>
                </text>
                <identifier>
                    <system value="www.nationalorgidentifier.gov"/>
                    <value value="888333111"/>

                </identifier>
                <name value="LITTLE CLINIC"/>
                <address>
                    <line value="2000 CLINIC DRIVE"/>
                    <city value="ANN ARBOR"/>
                    <state value="MI"/>
                    <country value="US"/>
              </address>
            </Organization>
        </resource>
        <request>
            <method value="PUT"/>
            <url value="Organization?identifier=www.nationalorgidentifier.gov|888333111"/>
        </request>
    </entry>
    <entry>
        <resource>
            <Patient>
                <text>
                    <status value="generated"/>
                    <div xmlns="http://www.w3.org/1999/xhtml"> EVERYWOMAN EVE 2000 PATIENT DRIVE ANN
                        ARBOR MI MPI #12312311 </div>

                </text>
                <identifier>
                    <system value="www.mypatientidentifier.com"/>
                    <value value="12312311"/>
                </identifier>
                <name>
                    <family value="EVERYWOMAN"/>
                    <given value="EVE"/>
                </name>
                <address>
                    <line value="2000 PATIENT DRIVE"/>
                    <city value="ANN ARBOR"/>
                    <state value="MI"/>
                    <country value="US"/>
                </address>
                <managingOrganization>
                    <reference value="Organization/17C7D86E-664F-4FE2-91D7-AF9A8E47311E">
                        
                    </reference>   
                </managingOrganization>
               </Patient>

        </resource>
        <request>
            <method value="PUT"/>
            <url value="Patient?identifier=www.mypatientidentifier.com|12312311"/>
        </request>
    </entry>
</Bundle>

But this is the theory...not sure if it will work for your FHIR server.