Neynar Documentation
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Send event
cURL
curl --request POST \
--url https://api.neynar.com/v2/farcaster/app_host/user/event/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: NEYNAR_API_DOCS' \
--data '
{
"app_domain": "demo.neynar.com",
"signed_message": "<string>"
}
'```
### Python
import requests
url = "https://api.neynar.com/v2/farcaster/app_host/user/event/"
payload = {
"app_domain": "demo.neynar.com",
"signed_message": "
response = requests.post(url, json=payload, headers=headers)
print(response.text)
### JavaScript
const options = {
method: 'POST',
headers: {'x-api-key': 'NEYNAR_API_DOCS', 'Content-Type': 'application/json'},
body: JSON.stringify({app_domain: 'demo.neynar.com', signed_message: '
fetch('https://api.neynar.com/v2/farcaster/app_host/user/event/', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));
### PHP
"https://api.neynar.com/v2/farcaster/app_host/user/event/",\
CURLOPT_RETURNTRANSFER => true,\
CURLOPT_ENCODING => "",\
CURLOPT_MAXREDIRS => 10,\
CURLOPT_TIMEOUT => 30,\
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
CURLOPT_CUSTOMREQUEST => "POST",\
CURLOPT_POSTFIELDS => json_encode([\
'app_domain' => 'demo.neynar.com',\
'signed_message' => '
### Go
package main
import ( "fmt" "strings" "net/http" "io" )
func main() {
url := "https://api.neynar.com/v2/farcaster/app_host/user/event/"
payload := strings.NewReader("{\n "app_domain": "demo.neynar.com",\n "signed_message": "
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "NEYNAR_API_DOCS") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(string(body)) }
### Unirest (Java)
HttpResponse
### Ruby
require 'uri' require 'net/http'
url = URI("https://api.neynar.com/v2/farcaster/app_host/user/event/")
http = Net::HTTP.new(url.host, url.port) http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = 'NEYNAR_API_DOCS'
request["Content-Type"] = 'application/json'
request.body = "{\n "app_domain": "demo.neynar.com",\n "signed_message": "
response = http.request(request) puts response.read_body
### Response Status Codes
- 200
- 400
- 404
- 500
- 502
### Example Responses
{ "success": true, "message": "Successfully processed event" }
{
"message": "
### Node.js SDK
🔗 **SDK Method:** [appHostPostEvent](https://docs.neynar.com/nodejs-sdk/app-host-apis/appHostPostEvent)
Use this API endpoint with the Neynar Node.js SDK for typed responses and better developer experience.
#### Authorizations
- **x-api-key**: string, header (default: NEYNAR_API_DOCS, required)
API key to authorize requests
#### Body
application/json
- **app_domain**: string, required
Domain of the mini app
Example:
"demo.neynar.com"
- **signed_message**: string, required
JFS-signed message containing the event payload. The message must be properly signed and contain valid event information. Can be provided as a single string or json object.
#### Response
**200**: application/json Success
- **success**: boolean, required
Example:
true