Skip to main content
PUT
Save tweet writing samples for a reusable X style
Free. This endpoint does not consume credits.
Save approved Tweet text as a reusable, account-scoped writing profile. Xquik stores each example as written. It generates no style labels. The endpoint stores 1-100 Tweet objects under the lowercase path {id}. It trims outer whitespace from every example. Internal punctuation, casing, links, and line breaks remain available for later review. It does not infer tone, vocabulary, sentiment, readability, or engagement. It also does not fetch likes, replies, reposts, quotes, views, or followers.

Save approved tweet writing samples

Use this endpoint when you already have reviewed examples. Those examples can come from approved drafts, published Tweets, or internal writing guidelines. These local sample IDs are not X Tweet IDs. Do not send them to Tweet lookup or Tweet analytics endpoints.

Choose representative tweet examples

Save posts that show the patterns you want future drafts to follow. Do not treat every published Tweet as a good example. Remove crisis posts, temporary promotions, outdated claims, and accidental wording. The endpoint stores text exactly after trimming outer whitespace. It does not decide whether an example fits your Twitter writing style.

Name the profile in the path

The path {id} names the stored profile. Xquik trims it, drops a leading @ and converts it to lowercase before saving. The body label is optional. When you send it, it must match {id}, ignoring case and a leading @; the PUT route rejects a mismatch.
Spaces are valid inside label. Encode them when using the same path value. A simple hyphenated label avoids confusing URLs.

Replace an existing tweet style

Profiles belong to the authenticated Xquik account. The normalized path {id} forms the account-scoped storage key. Sending the same label replaces the entire saved Tweet array. It also resets every local sample ID and save timestamp. Send the complete approved set during every replacement. Omitting an old example removes it from the saved profile. A different path {id} creates or replaces another normalized key. Delete the old key separately.

Reuse saved tweet examples

Use the returned xUsername value as the profile key. The name remains xUsername for both analyzed accounts and custom labels. Custom samples contain local sequential IDs, so they cannot provide live likes, replies, reposts, quotes, bookmarks, or view counts.

Request examples

Path parameters

string
required
Route identifier. Keep it equal to the body label. The body label controls the stored profile key for PUT requests.

Headers

Send x-api-key with an Xquik API key. OAuth clients can send a bearer token through the Authorization header instead.
string
required
Your Xquik API key. Generate one from the dashboard.
string
required
Must be application/json.

Body

string
Optional profile label. When sent, it must match the path {id}, ignoring case and a leading @. It contains 1-50 characters and must start with a letter, number, or underscore. It accepts letters, numbers, spaces, dots, hyphens, apostrophes, and underscores. Xquik trims and lowercases this value.
object[]
required
Complete array of 1-100 approved Tweet examples.

Response

200 OK

Returns the complete saved profile after insertion or replacement.
string
Normalized lowercase value from the body label.
number
Number of saved examples. Matches the submitted array length.
boolean
Always false for a custom profile created from supplied text.
string
ISO 8601 save timestamp shared by every returned sample.
object[]
Complete saved Tweet sample array.

Handle save-style errors

The response widget lists every status in the OpenAPI contract.

400 Invalid input

A request returns 400 when any required input fails validation. Label validation can return a specific message. Other body failures use the general invalid-input response.
The validator also accepts underscores. Its current message omits that character.

401 Unauthenticated

Replace the credential before retrying. Do not retry invalid credentials in a loop.

429 Rate limited

Wait for the Retry-After header. Then retry the complete replacement body.

Tweet style save checklist

  • Review every Tweet example before sending it.
  • Remove customer names, private replies, and temporary claims.
  • Name the profile in the path {id}; label is optional.
  • Send 1-100 objects with non-empty text strings.
  • Store the returned lowercase xUsername key.
  • Confirm tweetCount matches the intended sample count.
  • Expect isOwnAccount to remain false.
  • Treat returned sample IDs as local positions.
  • Keep a copy of the full array before replacing an existing profile.
  • Handle 400, 401, and 429.

Tweet writing style questions

What does save style analyze?

Nothing. Save Style stores the supplied Tweet text and profile metadata. It does not calculate tone, vocabulary, sentiment, or performance.

How many tweet examples can I save?

Send between 1 and 100 Tweet objects. Prefer examples that show repeatable wording, structure, replies, links, and calls to action.

Can I update an existing Twitter writing style?

Yes. Send the same normalized body label with the complete replacement array. The operation replaces every stored example under that account-scoped key.

Does the path ID rename a tweet style?

No. The body label controls the stored key. Keep both values aligned, and delete the old key after creating a new label.

Can saved tweet samples provide engagement analytics?

No. Custom samples use local sequential IDs. Use cached live Tweet samples for likes, replies, reposts, quotes, bookmarks, and view counts.

Can another Xquik account read my saved style?

No. Retrieval uses both the authenticated user and normalized profile key. Another Xquik account has a separate style namespace.

How do I use the style in a post draft?

Pass the returned xUsername as styleUsername to Build a Post Draft. The response can include the matched examples in styleTweets.
Compare Analyze Style before saving custom examples. Analyze Style caches Tweets from one X username. Save Style stores only the text you supply.