> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.futurejobs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.futurejobs.ai/_mcp/server.

# Update Session

PATCH https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/
Content-Type: application/json

`PATCH /sourcing-session/update-session/:sessionId`

Updates the session's title, JD, or queries and re-runs the search.

## Path Parameters

| Name | Type | Description |
| --- | --- | --- |
| sessionId | string | Session ObjectId. |

## Headers

| Key | Value |
| --- | --- |
| x-fj-api-key | fjk_ |
| Content-Type | application/json |

## Body

| Field | Type | Description |
| --- | --- | --- |
| sessionTitle | string | New title. |
| jdDetail | object | `{ userText?, sampleProfileURL? }`. |
| queries | object | Updated query filters — same shape as **Create Sourcing Session**. |

## Response (200)

``` json
{
  "statusCode": 200,
  "data": {
    "session": {
      "_id": "<SESSION_ID>",
      "sessionTitle": "Senior .NET Developer",
      "profileMatchingStatus": "processing",
      "filterChangesCounter": 1
    }
  },
  "message": "Session updated successfully",
  "status": "SUCCESS"
}

 ```

## cURL

Replace `fjk_YOUR_API_KEY_HERE` and , then paste and run:

``` bash
curl -X PATCH "https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/<SESSION_ID>" \
  -H "x-fj-api-key: fjk_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionTitle": "Senior .NET Developer",
    "queries": {
      "years_of_experience_raw": {
        "type": "RANGE",
        "value": [4, 8]
      }
    }
  }'

 ```

## Errors

- `400 Bad Request` — invalid query shape.
    
- `401 Unauthorized`
    
- `404 Not Found` — session not found.

Reference: https://docs.futurejobs.ai/fj-sourcing-ap-is/sourcing-session/update-session

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: FJ Sourcing APIs
  version: 1.0.0
paths:
  /api/v1/wl/sourcing-session/update-session/:
    patch:
      operationId: update-session
      summary: Update Session
      description: >-
        `PATCH /sourcing-session/update-session/:sessionId`


        Updates the session's title, JD, or queries and re-runs the search.


        ## Path Parameters


        | Name | Type | Description |

        | --- | --- | --- |

        | sessionId | string | Session ObjectId. |


        ## Headers


        | Key | Value |

        | --- | --- |

        | x-fj-api-key | fjk_ |

        | Content-Type | application/json |


        ## Body


        | Field | Type | Description |

        | --- | --- | --- |

        | sessionTitle | string | New title. |

        | jdDetail | object | `{ userText?, sampleProfileURL? }`. |

        | queries | object | Updated query filters — same shape as **Create
        Sourcing Session**. |


        ## Response (200)


        ``` json

        {
          "statusCode": 200,
          "data": {
            "session": {
              "_id": "<SESSION_ID>",
              "sessionTitle": "Senior .NET Developer",
              "profileMatchingStatus": "processing",
              "filterChangesCounter": 1
            }
          },
          "message": "Session updated successfully",
          "status": "SUCCESS"
        }

         ```

        ## cURL


        Replace `fjk_YOUR_API_KEY_HERE` and , then paste and run:


        ``` bash

        curl -X PATCH
        "https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/<SESSION_ID>"
        \
          -H "x-fj-api-key: fjk_YOUR_API_KEY_HERE" \
          -H "Content-Type: application/json" \
          -d '{
            "sessionTitle": "Senior .NET Developer",
            "queries": {
              "years_of_experience_raw": {
                "type": "RANGE",
                "value": [4, 8]
              }
            }
          }'

         ```

        ## Errors


        - `400 Bad Request` — invalid query shape.
            
        - `401 Unauthorized`
            
        - `404 Not Found` — session not found.
      tags:
        - subpackage_sourcingSession
      parameters:
        - name: x-fj-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Sourcing Session_Update
                  Session_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sessionTitle:
                  type: string
                jdDetail:
                  $ref: >-
                    #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaJdDetail
                queries:
                  $ref: >-
                    #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueries
              required:
                - sessionTitle
                - jdDetail
                - queries
servers:
  - url: https://prod.api.futurejobs.ai
    description: https://prod.api.futurejobs.ai
components:
  schemas:
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaJdDetail:
      type: object
      properties:
        userText:
          type: string
      required:
        - userText
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaJdDetail
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCountryRegion:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCountryRegion
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCurrentEmployersTitle:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCurrentEmployersTitle
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesYearsOfExperienceRaw:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: integer
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesYearsOfExperienceRaw
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesRegion:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesRegion
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkillsValue:
      type: object
      properties:
        mandatory:
          type: array
          items:
            type: string
        core:
          type: array
          items:
            type: string
        secondary:
          type: array
          items:
            type: string
      required:
        - mandatory
        - core
        - secondary
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkillsValue
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkills:
      type: object
      properties:
        type:
          type: string
        value:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkillsValue
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkills
    ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueries:
      type: object
      properties:
        country_region:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCountryRegion
        current_employers.title:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesCurrentEmployersTitle
        years_of_experience_raw:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesYearsOfExperienceRaw
        region:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesRegion
        skills:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueriesSkills
      required:
        - country_region
        - current_employers.title
        - years_of_experience_raw
        - region
        - skills
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchRequestBodyContentApplicationJsonSchemaQueries
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCountryRegion:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCountryRegion
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCurrentEmployersTitle:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCurrentEmployersTitle
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesYearsOfExperienceRaw:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: integer
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesYearsOfExperienceRaw
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesRegion:
      type: object
      properties:
        type:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesRegion
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkillsValue:
      type: object
      properties:
        mandatory:
          type: array
          items:
            type: string
        core:
          type: array
          items:
            type: string
        secondary:
          type: array
          items:
            type: string
      required:
        - mandatory
        - core
        - secondary
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkillsValue
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkills:
      type: object
      properties:
        type:
          type: string
        value:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkillsValue
      required:
        - type
        - value
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkills
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueries:
      type: object
      properties:
        country_region:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCountryRegion
        current_employers.title:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesCurrentEmployersTitle
        years_of_experience_raw:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesYearsOfExperienceRaw
        region:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesRegion
        skills:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueriesSkills
      required:
        - country_region
        - current_employers.title
        - years_of_experience_raw
        - region
        - skills
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueries
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSession:
      type: object
      properties:
        _id:
          type: string
        sessionTitle:
          type: string
        queries:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSessionQueries
        createdBy:
          type: string
        filterChangesCounter:
          type: integer
      required:
        - _id
        - sessionTitle
        - queries
        - createdBy
        - filterChangesCounter
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSession
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcingCreditInfo:
      type: object
      properties:
        charged:
          type: boolean
        amount:
          type: integer
        reason:
          type: string
        remainingCredits:
          type: integer
      required:
        - charged
        - amount
        - reason
        - remainingCredits
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcingCreditInfo
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcing:
      type: object
      properties:
        total_display_count:
          type: integer
        next_cursor:
          description: Any type
        fallbackApplied:
          type: boolean
        filterChangesCounter:
          type: integer
        searchMoreCounter:
          type: integer
        isFallback:
          type: boolean
        profileMatchingStatus:
          type: string
        newProfilesCount:
          type: integer
        creditInfo:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcingCreditInfo
      required:
        - total_display_count
        - fallbackApplied
        - filterChangesCounter
        - searchMoreCounter
        - isFallback
        - profileMatchingStatus
        - newProfilesCount
        - creditInfo
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcing
    ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        session:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSession
        filterChangeMessage:
          type: string
        sourcing:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaDataSourcing
      required:
        - session
        - filterChangeMessage
        - sourcing
      title: >-
        ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaData
    Sourcing Session_Update Session_Response_200:
      type: object
      properties:
        statusCode:
          type: integer
        data:
          $ref: >-
            #/components/schemas/ApiV1WlSourcingSessionUpdateSessionPatchResponsesContentApplicationJsonSchemaData
        message:
          type: string
        status:
          type: string
      required:
        - statusCode
        - data
        - message
        - status
      title: Sourcing Session_Update Session_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-fj-api-key

```

## Examples



**Request**

```json
{
  "sessionTitle": "Senior .NET Developer",
  "jdDetail": {
    "userText": "Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune"
  },
  "queries": {
    "country_region": {
      "type": "(.)",
      "value": [
        "India"
      ]
    },
    "current_employers.title": {
      "type": "IN",
      "value": [
        "Senior .NET Developer"
      ]
    },
    "years_of_experience_raw": {
      "type": "RANGE",
      "value": [
        4,
        8
      ]
    },
    "region": {
      "type": "IN",
      "value": [
        "Pune, Maharashtra, India"
      ]
    },
    "skills": {
      "type": "IN",
      "value": {
        "mandatory": [
          "C#",
          "ASP.NET Core"
        ],
        "core": [
          "Entity Framework"
        ],
        "secondary": [
          "Azure"
        ]
      }
    }
  }
}
```

**Response**

```json
{
  "statusCode": 200,
  "data": {
    "session": {
      "_id": "69f45196c8bbf1ce65b5bcd6",
      "sessionTitle": "Senior .NET Developer",
      "queries": {
        "country_region": {
          "type": "(.)",
          "value": [
            "India"
          ]
        },
        "current_employers.title": {
          "type": "IN",
          "value": [
            "Senior .NET Developer"
          ]
        },
        "years_of_experience_raw": {
          "type": "RANGE",
          "value": [
            4,
            8
          ]
        },
        "region": {
          "type": "IN",
          "value": [
            "Pune, Maharashtra, India"
          ]
        },
        "skills": {
          "type": "IN",
          "value": {
            "mandatory": [
              "C#",
              "ASP.NET Core"
            ],
            "core": [
              "Entity Framework"
            ],
            "secondary": [
              "Azure"
            ]
          }
        }
      },
      "createdBy": "68b6a343b878a5da9a172b65",
      "filterChangesCounter": 1
    },
    "filterChangeMessage": "24 filter change left",
    "sourcing": {
      "total_display_count": 10,
      "fallbackApplied": false,
      "filterChangesCounter": 1,
      "searchMoreCounter": 0,
      "isFallback": false,
      "profileMatchingStatus": "processing",
      "newProfilesCount": 10,
      "creditInfo": {
        "charged": true,
        "amount": 5,
        "reason": "Sourcing Session Edited",
        "remainingCredits": 445
      }
    }
  },
  "message": "Session Updated Successfully",
  "status": "SUCCESS"
}
```

**SDK Code**

```python Sourcing Session_Update Session_example
import requests

url = "https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/"

payload = {
    "sessionTitle": "Senior .NET Developer",
    "jdDetail": { "userText": "Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune" },
    "queries": {
        "country_region": {
            "type": "(.)",
            "value": ["India"]
        },
        "current_employers.title": {
            "type": "IN",
            "value": ["Senior .NET Developer"]
        },
        "years_of_experience_raw": {
            "type": "RANGE",
            "value": [4, 8]
        },
        "region": {
            "type": "IN",
            "value": ["Pune, Maharashtra, India"]
        },
        "skills": {
            "type": "IN",
            "value": {
                "mandatory": ["C#", "ASP.NET Core"],
                "core": ["Entity Framework"],
                "secondary": ["Azure"]
            }
        }
    }
}
headers = {
    "x-fj-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
```

```javascript Sourcing Session_Update Session_example
const url = 'https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/';
const options = {
  method: 'PATCH',
  headers: {'x-fj-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"sessionTitle":"Senior .NET Developer","jdDetail":{"userText":"Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune"},"queries":{"country_region":{"type":"(.)","value":["India"]},"current_employers.title":{"type":"IN","value":["Senior .NET Developer"]},"years_of_experience_raw":{"type":"RANGE","value":[4,8]},"region":{"type":"IN","value":["Pune, Maharashtra, India"]},"skills":{"type":"IN","value":{"mandatory":["C#","ASP.NET Core"],"core":["Entity Framework"],"secondary":["Azure"]}}}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Sourcing Session_Update Session_example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/"

	payload := strings.NewReader("{\n  \"sessionTitle\": \"Senior .NET Developer\",\n  \"jdDetail\": {\n    \"userText\": \"Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune\"\n  },\n  \"queries\": {\n    \"country_region\": {\n      \"type\": \"(.)\",\n      \"value\": [\n        \"India\"\n      ]\n    },\n    \"current_employers.title\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Senior .NET Developer\"\n      ]\n    },\n    \"years_of_experience_raw\": {\n      \"type\": \"RANGE\",\n      \"value\": [\n        4,\n        8\n      ]\n    },\n    \"region\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Pune, Maharashtra, India\"\n      ]\n    },\n    \"skills\": {\n      \"type\": \"IN\",\n      \"value\": {\n        \"mandatory\": [\n          \"C#\",\n          \"ASP.NET Core\"\n        ],\n        \"core\": [\n          \"Entity Framework\"\n        ],\n        \"secondary\": [\n          \"Azure\"\n        ]\n      }\n    }\n  }\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("x-fj-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Sourcing Session_Update Session_example
require 'uri'
require 'net/http'

url = URI("https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["x-fj-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"sessionTitle\": \"Senior .NET Developer\",\n  \"jdDetail\": {\n    \"userText\": \"Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune\"\n  },\n  \"queries\": {\n    \"country_region\": {\n      \"type\": \"(.)\",\n      \"value\": [\n        \"India\"\n      ]\n    },\n    \"current_employers.title\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Senior .NET Developer\"\n      ]\n    },\n    \"years_of_experience_raw\": {\n      \"type\": \"RANGE\",\n      \"value\": [\n        4,\n        8\n      ]\n    },\n    \"region\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Pune, Maharashtra, India\"\n      ]\n    },\n    \"skills\": {\n      \"type\": \"IN\",\n      \"value\": {\n        \"mandatory\": [\n          \"C#\",\n          \"ASP.NET Core\"\n        ],\n        \"core\": [\n          \"Entity Framework\"\n        ],\n        \"secondary\": [\n          \"Azure\"\n        ]\n      }\n    }\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Sourcing Session_Update Session_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.patch("https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/")
  .header("x-fj-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"sessionTitle\": \"Senior .NET Developer\",\n  \"jdDetail\": {\n    \"userText\": \"Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune\"\n  },\n  \"queries\": {\n    \"country_region\": {\n      \"type\": \"(.)\",\n      \"value\": [\n        \"India\"\n      ]\n    },\n    \"current_employers.title\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Senior .NET Developer\"\n      ]\n    },\n    \"years_of_experience_raw\": {\n      \"type\": \"RANGE\",\n      \"value\": [\n        4,\n        8\n      ]\n    },\n    \"region\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Pune, Maharashtra, India\"\n      ]\n    },\n    \"skills\": {\n      \"type\": \"IN\",\n      \"value\": {\n        \"mandatory\": [\n          \"C#\",\n          \"ASP.NET Core\"\n        ],\n        \"core\": [\n          \"Entity Framework\"\n        ],\n        \"secondary\": [\n          \"Azure\"\n        ]\n      }\n    }\n  }\n}")
  .asString();
```

```php Sourcing Session_Update Session_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PATCH', 'https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/', [
  'body' => '{
  "sessionTitle": "Senior .NET Developer",
  "jdDetail": {
    "userText": "Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune"
  },
  "queries": {
    "country_region": {
      "type": "(.)",
      "value": [
        "India"
      ]
    },
    "current_employers.title": {
      "type": "IN",
      "value": [
        "Senior .NET Developer"
      ]
    },
    "years_of_experience_raw": {
      "type": "RANGE",
      "value": [
        4,
        8
      ]
    },
    "region": {
      "type": "IN",
      "value": [
        "Pune, Maharashtra, India"
      ]
    },
    "skills": {
      "type": "IN",
      "value": {
        "mandatory": [
          "C#",
          "ASP.NET Core"
        ],
        "core": [
          "Entity Framework"
        ],
        "secondary": [
          "Azure"
        ]
      }
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-fj-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Sourcing Session_Update Session_example
using RestSharp;

var client = new RestClient("https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/");
var request = new RestRequest(Method.PATCH);
request.AddHeader("x-fj-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"sessionTitle\": \"Senior .NET Developer\",\n  \"jdDetail\": {\n    \"userText\": \"Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune\"\n  },\n  \"queries\": {\n    \"country_region\": {\n      \"type\": \"(.)\",\n      \"value\": [\n        \"India\"\n      ]\n    },\n    \"current_employers.title\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Senior .NET Developer\"\n      ]\n    },\n    \"years_of_experience_raw\": {\n      \"type\": \"RANGE\",\n      \"value\": [\n        4,\n        8\n      ]\n    },\n    \"region\": {\n      \"type\": \"IN\",\n      \"value\": [\n        \"Pune, Maharashtra, India\"\n      ]\n    },\n    \"skills\": {\n      \"type\": \"IN\",\n      \"value\": {\n        \"mandatory\": [\n          \"C#\",\n          \"ASP.NET Core\"\n        ],\n        \"core\": [\n          \"Entity Framework\"\n        ],\n        \"secondary\": [\n          \"Azure\"\n        ]\n      }\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Sourcing Session_Update Session_example
import Foundation

let headers = [
  "x-fj-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "sessionTitle": "Senior .NET Developer",
  "jdDetail": ["userText": "Job Title: Senior .NET Developer, Experience: 4-8 years, Location: Pune"],
  "queries": [
    "country_region": [
      "type": "(.)",
      "value": ["India"]
    ],
    "current_employers.title": [
      "type": "IN",
      "value": ["Senior .NET Developer"]
    ],
    "years_of_experience_raw": [
      "type": "RANGE",
      "value": [4, 8]
    ],
    "region": [
      "type": "IN",
      "value": ["Pune, Maharashtra, India"]
    ],
    "skills": [
      "type": "IN",
      "value": [
        "mandatory": ["C#", "ASP.NET Core"],
        "core": ["Entity Framework"],
        "secondary": ["Azure"]
      ]
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://prod.api.futurejobs.ai/api/v1/wl/sourcing-session/update-session/")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```