Record a client lifecycle event.
POST/session/event
Records an event that happened in the client. The event is written to
the log and acknowledged; nothing else in the API reads it back, and the
response is always the bare { "success": true }.
Two properties are read here, and one event is defined today:
event— required, and must be the literal stringtest.parameters— required object. Its shape is fixed byevent; thetestevent takes a booleantest. Extra keys inside it are ignored.
An event this endpoint does not know is reported against event itself
rather than against its parameters, so a wrong event does not also
report the parameters it was never going to take.
A client_id is required. It is resolved before the event is validated,
so a request that is missing the client and carries a bad event is
reported as the missing client first.
Request
Responses
- 200
- 400
- 401
- 429
- default
The event was accepted and logged.
One of three errors, in the order they are checked:
missingParameter(code 16), messageMissing client id— noclient_idwas supplied. Checked before the event body, so this wins over any event error in the same request.missingParameter(code 16), messageMissing required parameter '<field>'— a required field is absent.invalidParameter(code 15), messageInvalid value for '<field>': <message>— the field is present but has the wrong type or value.
<field> is a dot path into the body, so it is event for the
event itself and parameters.test for a parameter. Only the first
problem found is reported; fix it and retry to see the next.
Credentials were missing or invalid. The response carries
WWW-Authenticate: Basic realm="Feed.fm".
Response Headers
The authentication challenge. Always Basic realm="Feed.fm".
Basic realm="Feed.fm"The server judged the rate of requests from these credentials to be excessive and is refusing them for a time. The block lasts 30 seconds from the request that tripped it. Requests made during the block are refused and do not extend it.
The threshold is not published, and is not part of this contract. The threshold is also tuned from time to time.
The response carries a Retry-After header giving whole seconds until
the block clears. Wait at least that long. It says when to come back,
not what rate to aim for, and retrying sooner simply meets the block
again.
This exists to stop abuse, and a well-behaved client should not reach it; if yours does, the fix is to reduce your request rate rather than to retry on a timer. If you believe your application needs a rate that trips it, contact Feed.fm rather than working around it.
An error occurred.