> ## Documentation Index
> Fetch the complete documentation index at: https://docs.curto.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar todos os Links

> Esse endpoint lista todos os Links curtos

### Parâmetros de Query

<ParamField body="sort_by" type="enum">
  Ordena os Links por data de criação ou pela quantidade de cliques: "date" ou "performance"
</ParamField>

<ParamField body="sort_direction" type="enum">
  A direção da ordenação. "asc" para crescente e "desc" para decrescente.
</ParamField>

<ParamField body="page" type="number">
  Número da página que você está buscando os Links. Se não for enviado, o padrão será 1
</ParamField>

<ParamField body="page_size" type="number">
  A quantidade de itens na página. Se não for enviado, o padrão será 12, e o valor máximo para esse parâmetro é 100.
</ParamField>

<ParamField body="tag_id" type="string">
  Identificador da Tag que deseja associar seu link curto.
</ParamField>

### Resposta

<ResponseField name="status" type="string">
  Indica se a requisição foi bem sucedida. OK para quando for bem sucedida, e ERROR para quando não for.
</ResponseField>

<ResponseField name="pagination" type="object">
  Objeto com os dados atuais de paginação.

  <Expandable title="Pagination Object">
    <ResponseField name="current" type="number">
      O número da página atual
    </ResponseField>

    <ResponseField name="previous" type="number">
      O número da página anterior
    </ResponseField>

    <ResponseField name="current" type="number">
      O número da próxima página
    </ResponseField>

    <ResponseField name="total_pages" type="number">
      O número total de páginas
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total_rows" type="number">
  Indica o número de linhas retornadas na página atual.
</ResponseField>

<ResponseField name="data" type="array">
  Uma lista de links.

  <Expandable title="Link Object">
    <ResponseField name="id" type="string">
      Esse é o ID interno do link criado. Você não precisa memorizar esse dado
    </ResponseField>

    <ResponseField name="destination" type="string">
      É o destino do seu link curto (o link longo).
    </ResponseField>

    <ResponseField name="token" type="string">
      O identificador do seu link curto.
    </ResponseField>

    <ResponseField name="short_link" type="string">
      É o endereço compartilhável do seu link curto. Você pode copiar esse valor e compartilhar com sua audiência.
    </ResponseField>

    <ResponseField name="domain" type="string">
      Esse é o domínio utilizado para criar seu link curto.
    </ResponseField>

    <ResponseField name="domain_id" type="string">
      Esse é o ID interno do domínio utilizado para criar seu link curto. Você não precisa memorizar esse valor.
    </ResponseField>

    <ResponseField name="password" type="boolean">
      Indica se o link criado é protegido por senha ou não.
    </ResponseField>

    <ResponseField name="created_at" type="timestamp">
      Data de criação do link curto.
    </ResponseField>

    <ResponseField name="updated_at" type="timestamp">
      Data da última atualização de um link curto.
    </ResponseField>

    <ResponseField name="clicks" type="number">
      O número de cliques que esse link curto já teve.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl -H 'X-Curto-Api-Key: <your_key>' \
  https://api.curto.io/v1/links
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "current": 1,
      "total_pages": 1,
      "total_rows": 1,
      "data": [
        {
          "id": "<link_id>",
          "destination": "<your_destination>",
          "token": "D7tX8",
          "short_link": "https://curr.to/D7tX8",
          "domain_id": "<domain_id>",
          "domain": "curr.to",
          "password": false,
          "created_at": "2023-06-21T20:26:04.865908",
          "updated_at": "2023-06-21T20:26:04.865922",
          "clicks": 0
        }
      ]
    },
    "status": "OK"
  }
  ```
</ResponseExample>
