> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer-test.atomicwork.com/llms.txt.
> For full documentation content, see https://developer-test.atomicwork.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-test.atomicwork.com/_mcp/server.

# Create request notes

POST https://{tenant}.atomicwork.com/api/v1/requests/{requestId}/notes
Content-Type: application/json

Reference: https://developer-test.atomicwork.com/api-reference/atomicwork-public-api/requests/postapi-v-1-requests-request-id-notes

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/requests/{requestId}/notes:
    post:
      operationId: postapi-v-1-requests-request-id-notes
      summary: Create request notes
      tags:
        - subpackage_requests
      parameters:
        - name: requestId
          in: path
          description: ''
          required: true
          schema:
            type: string
        - name: X-Api-Key
          in: header
          required: true
          schema:
            type: string
        - name: X-Workspace-Id
          in: header
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Requests_postapi_v1_requests__requestId__notes_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  format: int64
                description:
                  type: string
                mentions:
                  type: array
                  items:
                    type: integer
                    format: int64
                is_private:
                  type: boolean
                  default: false
                source:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaSource
                type:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaType
                attachments:
                  type: array
                  items:
                    type: integer
                    format: int64
                cc_emails:
                  type: array
                  items:
                    type: string
                bcc_emails:
                  type: array
                  items:
                    type: string
                is_broadcast:
                  type: boolean
                  default: false
                external_id:
                  type: string
                external_source_type:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaExternalSourceType
                email_content:
                  type: string
                event_created_at:
                  type: string
                  format: date-time
                  description: >-
                    Event creation timestamp. When provided via public API, also
                    backdates the note's created time, SLA metrics, and activity
                    timestamps. Must not be in the future or before the
                    request's creation time.
servers:
  - url: https://{tenant}.atomicwork.com
    description: Your Atomicwork tenant
components:
  schemas:
    ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaSource
    ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
        - ESD_NOTE
        - SLACK_NOTE
        - EMAIL_NOTE
        - RATING
        - TEMPLATE
        - WORKFLOW_NOTE
      title: >-
        ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaType
    ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaExternalSourceType:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdNotesPostRequestBodyContentApplicationJsonSchemaExternalSourceType
    Requests_postapi_v1_requests__requestId__notes_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Requests_postapi_v1_requests__requestId__notes_Response_200
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

```

## Examples



**Request**

```json
{
  "user_id": 123456,
  "description": "Investigated the issue and escalated to the network team for further analysis.",
  "mentions": [
    78910,
    112233
  ],
  "is_private": true,
  "source": "EMAIL",
  "type": "ESD_NOTE",
  "attachments": [
    98765,
    43210
  ],
  "cc_emails": [
    "teamlead@example.com",
    "supportmanager@example.com"
  ],
  "bcc_emails": [
    "audit@example.com"
  ],
  "is_broadcast": false,
  "external_id": "EXT-20240615-001",
  "external_source_type": "SAAS_GENIE",
  "email_content": "Please review the attached logs and provide your feedback.",
  "event_created_at": "2024-04-20T15:45:00Z"
}
```

**Response**

```json
{}
```

**SDK Code**

```python
import requests

url = "https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes"

payload = {
    "user_id": 123456,
    "description": "Investigated the issue and escalated to the network team for further analysis.",
    "mentions": [78910, 112233],
    "is_private": True,
    "source": "EMAIL",
    "type": "ESD_NOTE",
    "attachments": [98765, 43210],
    "cc_emails": ["teamlead@example.com", "supportmanager@example.com"],
    "bcc_emails": ["audit@example.com"],
    "is_broadcast": False,
    "external_id": "EXT-20240615-001",
    "external_source_type": "SAAS_GENIE",
    "email_content": "Please review the attached logs and provide your feedback.",
    "event_created_at": "2024-04-20T15:45:00Z"
}
headers = {
    "X-Workspace-Id": "{{workspace_id}}",
    "X-Api-Key": "<apiKey>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript
const url = 'https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes';
const options = {
  method: 'POST',
  headers: {
    'X-Workspace-Id': '{{workspace_id}}',
    'X-Api-Key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '{"user_id":123456,"description":"Investigated the issue and escalated to the network team for further analysis.","mentions":[78910,112233],"is_private":true,"source":"EMAIL","type":"ESD_NOTE","attachments":[98765,43210],"cc_emails":["teamlead@example.com","supportmanager@example.com"],"bcc_emails":["audit@example.com"],"is_broadcast":false,"external_id":"EXT-20240615-001","external_source_type":"SAAS_GENIE","email_content":"Please review the attached logs and provide your feedback.","event_created_at":"2024-04-20T15:45:00Z"}'
};

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

```go
package main

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

func main() {

	url := "https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes"

	payload := strings.NewReader("{\n  \"user_id\": 123456,\n  \"description\": \"Investigated the issue and escalated to the network team for further analysis.\",\n  \"mentions\": [\n    78910,\n    112233\n  ],\n  \"is_private\": true,\n  \"source\": \"EMAIL\",\n  \"type\": \"ESD_NOTE\",\n  \"attachments\": [\n    98765,\n    43210\n  ],\n  \"cc_emails\": [\n    \"teamlead@example.com\",\n    \"supportmanager@example.com\"\n  ],\n  \"bcc_emails\": [\n    \"audit@example.com\"\n  ],\n  \"is_broadcast\": false,\n  \"external_id\": \"EXT-20240615-001\",\n  \"external_source_type\": \"SAAS_GENIE\",\n  \"email_content\": \"Please review the attached logs and provide your feedback.\",\n  \"event_created_at\": \"2024-04-20T15:45:00Z\"\n}")

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

	req.Header.Add("X-Workspace-Id", "{{workspace_id}}")
	req.Header.Add("X-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
require 'uri'
require 'net/http'

url = URI("https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes")

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

request = Net::HTTP::Post.new(url)
request["X-Workspace-Id"] = '{{workspace_id}}'
request["X-Api-Key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"user_id\": 123456,\n  \"description\": \"Investigated the issue and escalated to the network team for further analysis.\",\n  \"mentions\": [\n    78910,\n    112233\n  ],\n  \"is_private\": true,\n  \"source\": \"EMAIL\",\n  \"type\": \"ESD_NOTE\",\n  \"attachments\": [\n    98765,\n    43210\n  ],\n  \"cc_emails\": [\n    \"teamlead@example.com\",\n    \"supportmanager@example.com\"\n  ],\n  \"bcc_emails\": [\n    \"audit@example.com\"\n  ],\n  \"is_broadcast\": false,\n  \"external_id\": \"EXT-20240615-001\",\n  \"external_source_type\": \"SAAS_GENIE\",\n  \"email_content\": \"Please review the attached logs and provide your feedback.\",\n  \"event_created_at\": \"2024-04-20T15:45:00Z\"\n}"

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

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes")
  .header("X-Workspace-Id", "{{workspace_id}}")
  .header("X-Api-Key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"user_id\": 123456,\n  \"description\": \"Investigated the issue and escalated to the network team for further analysis.\",\n  \"mentions\": [\n    78910,\n    112233\n  ],\n  \"is_private\": true,\n  \"source\": \"EMAIL\",\n  \"type\": \"ESD_NOTE\",\n  \"attachments\": [\n    98765,\n    43210\n  ],\n  \"cc_emails\": [\n    \"teamlead@example.com\",\n    \"supportmanager@example.com\"\n  ],\n  \"bcc_emails\": [\n    \"audit@example.com\"\n  ],\n  \"is_broadcast\": false,\n  \"external_id\": \"EXT-20240615-001\",\n  \"external_source_type\": \"SAAS_GENIE\",\n  \"email_content\": \"Please review the attached logs and provide your feedback.\",\n  \"event_created_at\": \"2024-04-20T15:45:00Z\"\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes', [
  'body' => '{
  "user_id": 123456,
  "description": "Investigated the issue and escalated to the network team for further analysis.",
  "mentions": [
    78910,
    112233
  ],
  "is_private": true,
  "source": "EMAIL",
  "type": "ESD_NOTE",
  "attachments": [
    98765,
    43210
  ],
  "cc_emails": [
    "teamlead@example.com",
    "supportmanager@example.com"
  ],
  "bcc_emails": [
    "audit@example.com"
  ],
  "is_broadcast": false,
  "external_id": "EXT-20240615-001",
  "external_source_type": "SAAS_GENIE",
  "email_content": "Please review the attached logs and provide your feedback.",
  "event_created_at": "2024-04-20T15:45:00Z"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Api-Key' => '<apiKey>',
    'X-Workspace-Id' => '{{workspace_id}}',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Workspace-Id", "{{workspace_id}}");
request.AddHeader("X-Api-Key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"user_id\": 123456,\n  \"description\": \"Investigated the issue and escalated to the network team for further analysis.\",\n  \"mentions\": [\n    78910,\n    112233\n  ],\n  \"is_private\": true,\n  \"source\": \"EMAIL\",\n  \"type\": \"ESD_NOTE\",\n  \"attachments\": [\n    98765,\n    43210\n  ],\n  \"cc_emails\": [\n    \"teamlead@example.com\",\n    \"supportmanager@example.com\"\n  ],\n  \"bcc_emails\": [\n    \"audit@example.com\"\n  ],\n  \"is_broadcast\": false,\n  \"external_id\": \"EXT-20240615-001\",\n  \"external_source_type\": \"SAAS_GENIE\",\n  \"email_content\": \"Please review the attached logs and provide your feedback.\",\n  \"event_created_at\": \"2024-04-20T15:45:00Z\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "X-Workspace-Id": "{{workspace_id}}",
  "X-Api-Key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "user_id": 123456,
  "description": "Investigated the issue and escalated to the network team for further analysis.",
  "mentions": [78910, 112233],
  "is_private": true,
  "source": "EMAIL",
  "type": "ESD_NOTE",
  "attachments": [98765, 43210],
  "cc_emails": ["teamlead@example.com", "supportmanager@example.com"],
  "bcc_emails": ["audit@example.com"],
  "is_broadcast": false,
  "external_id": "EXT-20240615-001",
  "external_source_type": "SAAS_GENIE",
  "email_content": "Please review the attached logs and provide your feedback.",
  "event_created_at": "2024-04-20T15:45:00Z"
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://{tenant}.atomicwork.com/api/v1/requests/requestId/notes")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```