Peker en eksisterende kortlenke mot en annen mål-URL. Selve kortlenken forblir den samme, så den fortsetter å fungere i meldinger som allerede er sendt.

## API-URL

URL som brukes til å sende HTTP-forespørsler:

```url
https://portal.bulkgate.com/api/1.0/shortener/change
```

> [!NOTE]
> Hvis forespørselen ikke kommer frem, kan du sende den på nytt til [reserveserveren](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-reserveserver/) `backup1.bulkgate.com`.

## Støttede HTTP-metoder

- `POST` - `application/json`

```http
POST /api/1.0/shortener/change HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

> [!NOTE]
> API-et har en kvote på `20` forespørsler per minutt.

## Parametertabell

| PARAMETERNAVN     | VERDI | OBLIGATORISK | STANDARDVERDI |
|:------------------|:------|:-------------|:--------------|
| application_id    | [Application ID](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/administrasjon-av-api/) | **Ja** | - | 
| application_token | [Autentiseringstoken for applikasjonen](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-token/) | **Ja** | - |
| short_url         | Den forkortede URL-en som skal endres | **Ja** | - |
| target_url        | Ny URL | **Ja** | - |

## Eksempel på forespørsel

```http-json
POST /api/1.0/shortener/change HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
  "application_id": 451,
  "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
  "short_url": "ur7.wf/K",
  "target_url": "www.insymbo.com"
}
```

## Svar

**Ved suksess:**

```json
{
    "data": {
        "short_url": "http://ur7.wf/K",
        "target_url": "http://www.insymbo.com/",
        "final_url": "www.insymbo.com",
        "title": "Online assessment tool for employee selection - INSYMBO"
    }
}
```

Feltene i svaret fungerer på samme måte som ved [forkorting](https://www.bulkgate.com/no/dokumentasjon/lenkeforkorter/lenkeforkorter-forkort-url/), med én forskjell: `final_url` inneholder her adressen **nøyaktig slik du sendte den**, uten at protokollen legges til.

**Ved feil:**

```json
{
    "type": "url_not_found",
    "code": 400,
    "error": "Url not found",
    "detail": null
}
```

```json
{
    "type": "the_per_minute_quota_has_been_exceeded",
    "code": 400,
    "error": "The per minute quota has been exceeded",
    "detail": null
}
```

Der:

- **type** og **error** (beskrivelse av feilen) finner du i [tabellen over feiltyper](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/)
- **code** er HTTP-feilkoden
- **detail** er tilleggsinformasjon om feilen

### Feiltyper i Shortener API

I tillegg til de [generelle typene](https://www.bulkgate.com/no/dokumentasjon/api-administrasjon/api-feiltyper/) returnerer Shortener API sine egne:

| TYPE                                    | NÅR DET SKJER                                                        |
|:----------------------------------------|:-----------------------------------------------------------------------|
| `url_not_found`                         | `short_url` finnes ikke i kontoen.                             |
| `url_is_not_valid`                      | Den nye `target_url` kunne ikke tolkes.                              |
| `domain_is_not_white_listed`            | Det nye måldomenet står ikke på listen over tillatte domener (for begrensede domener).     |
| `the_per_minute_quota_has_been_exceeded`| Kvoten på 20 forespørsler per minutt er brukt opp.                        |
