Skip to main content
PUT
Save tweet writing samples for a reusable X style
Free - does not consume credits
Save approved Tweet text as a reusable, account-scoped writing profile. Xquik preserves each example instead of generating subjective style labels. The endpoint stores 1-100 Tweet objects under one lowercase label. 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

A useful Tweet writing profile needs intentional examples. Save posts that demonstrate 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.

Keep the path and label aligned

The body label controls the stored profile key. Xquik trims it and converts it to lowercase before saving. The PUT route rejects a {id} that differs from label, ignoring case. Send the same value in both places.
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 body label 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. Changing only the path {id} does not rename a profile. Change label to create or replace 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. Therefore, 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
required
Profile label containing 1-50 characters. It 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 includes every status in the canonical 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 even though the public validator accepts it.

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.
  • Keep the path {id} aligned with the body label.
  • 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.
  • Preserve the full array before replacing an existing profile.
  • Handle 400, 401, and 429 explicitly.

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 demonstrate 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.