anchor.diff:  `content_item = ContentItem.find_by(content_id: "CONTENT_ID")` to get a
   handle on the current state of the content item. If the content item
   already has a `document_type` of `redirect` and the `redirects` property
  -has the `path` and `destination` properties you're aiming for, then you
  -may just need to [nudge Content Store into talking to Router API][[register-redirect-from-content-store-section].
  -
  -In the Publishing API console, make a call to `Unpublish`:
  -
  -```ruby
  -Commands::V2::Unpublish.call(
  -  content_id: "CONTENT_ID",
  +has the `path` and `destination` properties you're aiming for, then all
  +you may need to do is
  +[nudge Content Store into talking to Router API][register-redirect-from-content-store-section].
  +If your content item doesn't have a redirect in Content Store, but you
  +know a redirect has been applied in Publishing API, you may need to
  +[re-present the edition in Publishing API][represent-content-item-section].
  +
  +Assuming the redirect doesn't exist yet, and you know no attempt has been
  +made to redirect the item in Publishing API, your next step is to open a
  +console on the publishing app in question. Then run this command:
  +
  +```ruby
  +GdsApi.publishing_api.unpublish(
  +  content_id,
     type: "redirect",
     explanation: "manually redirected by YOUR_NAME",
     alternative_path: "/new-path",
  -  discard_drafts: true,
  -  unpublished_at: Time.now,
  +  discard_drafts: true
   )
   ```
   
  -You should now see an Unpublishing record in Publishing API:
  -
  -```ruby
  -Unpublishing.last
  -=> #<Unpublishing id: 435518, edition_id: 1, type: "redirect", explanation: "manually redirected by Chris", alternative_path: "/new-path", created_at: "2020-11-27 14:03:08", updated_at: "2020-11-27 14:20:47", unpublished_at: nil, redirects: [{"path"=>"/old-path", "type"=>"exact", "destination"=>"/new-path"}]>
  -```
  -
  -And you should see that the content item in the Content Store
  -console has been updated, if you run `content_item.reload`.
  -
  -[Content Store talks directly to Router API](https://github.com/alphagov/content-store/blob/dd79a03d74f130650bc97d1c84aae557ccea58d3/app/models/content_item.rb#L33)
  -to update the route. Now when you visit the route in your
  -browser, you should be redirected.
  +You should see a 200 response:
  +
  +```
  +#<GdsApi::Response:0x00007f81feba4c30 @http_response=<RestClient::Response 200 "{\"content_i...">, @web_urls_relative_to=nil>
  +```
  +
  +And you will see that the content item in the Content Store
  +console has been updated, if you run `content_item.reload` in
  +your other console.
  +
  +When Content Store is updated with a new route, it
  +[talks directly to Router API](https://github.com/alphagov/content-store/blob/dd79a03d74f130650bc97d1c84aae557ccea58d3/app/models/content_item.rb#L33).
  +You should now be redirected when you visit the route in your browser.
  +
  +### Manually re-present the content item in Publishing API
  +[represent-content-item-section]: #manually-re-present-the-content-item-in-publishing-api
  +
  +Sometimes, Publishing API and Content Store can end up out of sync
  +with one another, whereby a redirect has been applied to a content
  +item in Publishing API but hasn't been successfully processed by
  +Content Store. In these cases, there are several
  +[rake tasks](https://github.com/alphagov/publishing-api/blob/master/lib/tasks/represent_downstream.rake)
  +we can use to re-present the content item from Publishing API to
  +Content Store.
  +
  +First, you'll need the content ID of the content item. Here we have
  +a Publishing API console and we've retrieved the Unpublishing record
  +(which has the redirect information) for the content item. We find
  +its associated content ID and can then use this in one of the linked
  +rake tasks.
  +
  +```
  +unpublishing = Unpublishing.find_by(alternative_path: "/foo")
  +
  +unpublishing.edition.content_id
  +=> "ddcab6e2-8985-4646-9f3d-82d2f4770186"
  +```
   
   ### Manually register a route in Content Store
   [register-redirect-from-content-store-section]: #manually-register-a-route-in-content-store
   
  -Sometimes Content Store is unsuccessful in updating a route in
  -Router API, e.g. if the call from Content Store happens while
  -the Router machines are being deployed.
  +Sometimes, our publishing platform prevents the creation of
  +new routes (and the addition/removal of redirects) while we
  +are scaling up certain parts of the stack.
  +
  +If the content item in Content Store is showing the correct
  +route, but Router API is not, then re-publishing the item will
  +not work, as the route in Content Store will be unchanged.
  +Content Store only updates Router API
  +[if it detects the route has changed](https://github.com/alphagov/content-store/blob/8651b9245046f0a0ae125dde018d39f8507226c5/app/models/content_item.rb#L224-L232).
   
   In such cases, you can get Content Store to register the route
   again, by opening the Content Store console and running:
  
positive.code: 
  First, connect to the Router API console:
  
  `$ gds govuk connect -e production app-console draft_cache/router-api`
  
  Then update the route directly:
  
  
negative.code: related_applications: [short-url-manager]
  ---
  
  There are a number of different ways of applying redirects on GOV.UK.
  Here is a guide for choosing the right one:
  
  - Is the redirect a short URL, such as `gov.uk/dfe`?
    [Use Short URL Manager][short-url-manager-section].
  - Are you redirecting a HMRC manual?
    Read the [HMRC section][hmrc-manuals-section].
  - Are you redirecting from a campaign site?
    Read the [campaign sites section][campaign-sites-section].
  
  That covers the service-specific redirects. We then have several options
  for applying redirects to most GOV.UK content:
  
  - Are you having an incident and need to apply a redirect _urgently_?
    You can [apply the redirect directly in Router API][apply-redirect-in-router-api-section]
    (though you'll need to do some housekeeping afterwards).
  - Is the redirect correctly showing in Content Store, but not in Router API?
    You may just need to [nudge Content Store into updating Router API][register-redirect-from-content-store-section].
  - Is the redirect correctly showing in Publishing API, but not in Content Store?
    Try [re-presenting the content item downstream][represent-content-item-section].
  - Does the redirect not exist anywhere yet?
    You'll need to [apply a redirect from within the relevant publishing app][apply-redirect-from-publishing-app-section].
  
  ## Manually apply a redirect from any publishing app
  [apply-redirect-from-publishing-app-section]: #manually-apply-a-redirect-from-any-publishing-app
  
  The preferred method of creating redirects is to use the publishing app that
  originally published the content to set up the redirect. You can find out
  [what exists at the incoming URL already][check-route-exists-section] (if
  anything), and [which app owns the route][find-owning-app].
  
  Once you've established which app owns the route, you should see if it is
  possible to set up the redirect from within the app UI itself. This usually
  involves unpublishing the content, whereupon the app gives the option to
  redirect the old route to another route. This approach is preferred as it
  keeps the workflow and publishing history within the app, as well as
  