# Post Data from an Unauthenticated Server-to-Server Connection

Use the `POST` method to send event data through an unauthenticated server-to-server connection. Use an unauthenticated server-to-server connection when your server already collects engagement data that you want to forward to Data 360 and you don’t require an authenticated connection.

- URI

  - : `/web/events/{appSourceId}`.

Retrieve the `{appSourceId}` after you create a web or mobile connection in Data 360. Mobile connections provide the {appSourceId} during setup. For web connections, you can find it in the JavaScript tag, for example: `https://cdn.360a.salesforce.com/beacon/c360a/{appSourceId}/scripts/c360a.min.js`.

- Available since release

  - : Salesforce v63.0

- Formats

  - : REST

- HTTP methods

  - : `POST`

- Request body

  - :

    ```bash
    curl --location --request POST \
    'https://{TSE}/web/events/{appSourceId}' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'event=eyJldmVudHMiOlt7ImV2ZW50SWQiOiJFdmVudCBJRCIsImRhdGVUaW1lIjoiVGltZSBzdGFtcCIsInNlc3Npb25JZCI6IlNlc3Npb24gSUQiLCJkZXZpY2VJZCI6IkRldmljZSBJRCIsImV2ZW50VHlwZSI6IkV2ZW50IHR5cGUiLCJjYXRlZ29yeSI6IkNhdGVnb3J5In1dfQ=='
    ```

:::note
You can include multiple event types in a request. The request parameters must support the schema outlined in the [Mobile and Web SDK Schema Quick Guide](https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-mobile-web-sdk-schema-quick-guide.md). For a complete example, see the [recommended schema](https://developer.salesforce.com/docs/atlas.en-us.c360a_api.meta/c360a_api/c360a_api_salesforce_cdp_module_of_the_salesforce_web_sdk.htm).

The `event` parameter value must be base64-encoded JSON. First, encode your JSON event payload to base64, then use `--data-urlencode` to properly URL-encode the parameter for transmission.
:::

- Request parameters

  - :

    :::note
    The following table contains the minimum 6 mandatory fields that must be defined in the schema. See the [Mobile and Web SDK Schema Quick Guide](https://developer.salesforce.com/docs/data/data-cloud-int/guide/c360-a-mobile-web-sdk-schema-quick-guide.md) for more information.

    If your schema contains additional required fields (where `isDataRequired` is `true`), those fields must also be included in the request parameters.
    :::

    | Parameter   | Description                                                                    |
    | ----------- | ------------------------------------------------------------------------------ |
    | `eventId`   | A unique ID for each event                                                     |
    | `dateTime`  | Timestamp must be in ISO8601 format `YYYY-MM-DD'T'HH:mm:ss.SSS'Z'`             |
    | `sessionId` | Same as the `deviceId`                                                         |
    | `deviceId`  | A unique ID, stored in a cookie, for the device from which the request is made |
    | `eventType` | Contains the `developerName` value used in the definition of an event schema   |
    | `category`  | Must be either `profile` or `engagement`                                       |

- Response body

  - :

    | Code  | Description                 |
    | ----- | --------------------------- |
    | `204` | No Content (payload posted) |
    | `400` | Bad Request                 |
    | `401` | Unauthorized                |
    | `500` | Server Error                |
