API Reference

Condescension, Programmatically

REST, because we need it after talking to you. Every endpoint below is fully interactive and completely fictional — which, if you have used an API recently, may not feel like much of a distinction.

OpenAPI 3.1 · snark-api v2.0 · nothing leaves this page

Not authorized. Endpoints will refuse you politely, then keep refusing.

Endpoints

POST /v1/eyeroll

Sends one eye-roll to the specified target. Intensity above 90 requires a signed waiver from your optometrist. Delivery is instant; acknowledgement is never.

operationId: dispatchEyeroll · tag: Expressions

Parameters

No parameters. There is nothing to configure and nothing to blame.

Request body · application/json

intensity integer required

0–100. Values above 90 are dispatched but disclaimed.

target string required

What earned it. Be specific — vagueness reads as cowardice.

audible boolean

Adds the sigh. Defaults to true, because it always was.

Responses

200

Rolled. Nobody saw it, which is the point.

400

That's On You — intensity outside 0–100.

429

Too Many Feelings — you are rolling faster than we can render.

GET /v1/sigh

Returns a sigh over Server-Sent Exhales. The connection stays open slightly longer than is comfortable, which is a feature and was expensive to build.

operationId: streamSigh · tag: Expressions

Parameters

depth string (query)

One of shallow, weary, existential. Defaults to weary.

audible boolean (query)

Whether anyone nearby should have to hear it.

Responses

200

Exhaled. Duration scales with depth.

429

Too Many Feelings — take a walk. Reflect.

POST /v1/comeback

Produces the reply that would have ended the conversation, timed to arrive after it. The delay is not a latency problem. The delay is the product.

operationId: generateComeback · tag: Language

Parameters

No parameters. There is nothing to configure and nothing to blame.

Request body · application/json

setup string required

What they said. Paste it exactly; paraphrasing flatters them.

delay string

Requested delivery time. Accepted, logged, and ignored.

swallow boolean

If true, you keep it to yourself. Defaults to true.

Responses

200

Generated. Arriving in roughly three hours.

402

Payment Required — comebacks over twelve words are a paid tier.

429

Too Many Feelings — one conversation at a time.

DELETE /v1/enthusiasm

Idempotent. Calling it twice changes nothing, because there was nothing left after the first time. Calling it once changes nothing either, for the same reason.

operationId: deleteEnthusiasm · tag: Maintenance

Parameters

No parameters. There is nothing to configure and nothing to blame.

Responses

200

Already gone. Has been since 2009.

204

No Comment — we saw the request and have nothing nice to say.

DELETE /v1/unsubscribe

Present for compliance reasons, and for no other reason whatsoever. Returns 200 in every case. The value of removed is documented below and is always false.

operationId: requestUnsubscribe · tag: Compliance

Parameters

confirm boolean (query) required

Must be true. Will not be read.

reason string (query)

Why you are leaving. Goes to a channel with no owner.

Responses

200

Received. Nothing further will happen.

429

Too Many Feelings — you have tried this before.

Status Codes

200

Fine.

The request worked. Try not to make it weird.

204

No Comment

We saw it. We have nothing nice to say.

400

That's On You

The request was malformed, much like the idea behind it.

401

Who Are You, Even

Missing or unconvincing credentials. There is a button for this.

402

Payment Required

Your card was declined. So, in fairness, was your idea.

418

I'm a Teapot

Preserved out of respect. The only sincere thing in this spec.

429

Too Many Feelings

Rate limited. Take a walk. Reflect.

500

We're Not Mad, Just Disappointed

Something broke on our end. We blame you anyway.

Official SDKs

Available in JavaScript, Python, and Sighs. The Sighs SDK is just a WAV file, and honestly it's our most expressive one.

Changelog

  • v2.0 — 40% more passive-aggressive. You're welcome.
  • v1.4 — Fixed a bug where compliments could occur.
  • v1.0 — Initial release. Regretted immediately.

Questions? See status code 204.