---
title: "Tailor a proposed sequence again"
method: POST
path: "/sequences/proposals/{proposal_id}/tailor/"
tags: ["sequences"]
---

# Tailor a proposed sequence again

`POST /sequences/proposals/{proposal_id}/tailor/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/sequences/proposals/{proposal_id}/tailor/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Tailor a proposal again before the sequence is made: another campaign from the library by `campaign_key`, or other words of the person's as `intent`. What was asked before stands unless something new is given.

## Path parameters

- `proposal_id` string, uuid, required

## Request body

- SequenceTailorSchema: What a person asks of a tailoring: their own words, and a campaign.
  - `campaign_key` string, nullable: A campaign from the library to run, by key (see the outbound presets' campaigns). Omitted, tailoring chooses the one that fits the audience best.
  - `intent` string: What the campaign is for, in the person's own words: an event, a launch, an offer, who to reach. The one part of a campaign an email may state as fact.

## Response `200`

Successful Response

- SequenceProposalReadSchema: A sequence not made yet, and how its tailoring stands.
  - `campaign` SequenceProposalCampaignSchema, required: The campaign tailoring chose for a proposal, why, its goal, and its rewritten steps.
    - `campaign_key` string, required
    - `campaign_name` string, required
    - `chosen_by_person` boolean, required: The person chose this campaign themselves.
    - `goal` string, nullable, required: The goal tailoring chose, one of the goal presets.
    - `reason` string, required: Why tailoring chose it, in one line; empty when the person chose it.
    - `steps` SequenceProposalStepSchema[], required
      - `arm` string, nullable: The answer to the campaign's connection request this step waits for: `connected` or `not_accepted`. Null before the request, and on a step that goes on whatever the answer, which the sequence lays out once on each branch.
      - `kind` string, required: `email`, `linkedin_connection` or `linkedin_withdraw`.
      - `note` string: Always empty: tailoring writes no per-step notes any more. Read `prompt`.
      - `prompt` string, required: The instruction the step's message is written from, as tailoring rewrote it for the company; empty on a step that carries no words.
      - `title` string, required
      - `wait_days` integer, required: Days after the step before; 0 on the first.
      - `window_days` integer, nullable: On a connection request: days it waits for an answer. Null on other steps.
    - `summary` string, required
  - `id` string, uuid, required
  - `in_flight` boolean, required: Tailoring is still working; poll until false.
  - `intent` string, required
  - `reason` string, nullable, required: Why it was skipped or failed, as a code.
  - `record_count` integer, nullable, required: How many chosen rows, when rows were chosen.
  - `sender_profile_ids` string[], required
  - `sequence_id` string, uuid, nullable, required: The sequence made from it, once made.
  - `stage` string, nullable, required: While in flight: starting, choosing (the campaign) or writing (its steps for the company).
  - `status` string, nullable, required: The tailoring's outcome once settled: ready_for_review (a campaign is ready), skipped or failed.
  - `table_id` string, uuid, required
  - `table_name` string, required
  - `view_id` string, uuid, nullable, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found.
- `409`: The proposal already made its sequence.
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
