---
title: "GET /.well-known/assetlinks.json"
description: "Consultar associação Android"
sidebar:
  hidden: true
---

Operação pública/SDK existente, separada da Platform API administrativa. [Guia funcional](/sdk/contratos-publicos/) · [Índice dos 13 endpoints](/sdk/endpoints-publicos/) · [Schemas navegáveis](/contratos-publicos/) · [JSON Schema](/contracts/public-openapi.json). Não envie Authorization administrativo. Tokens/capacidades transitórias dos exemplos são fictícios.


## GET /.well-known/assetlinks.json

Consultar associação Android. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: `https://go.agilink.invalid`.

Sem corpo de requisição. Associações também aceitam HEAD com corpo de resposta vazio.

```sh
curl --request GET 'https://go.agilink.invalid/.well-known/assetlinks.json'
```

Resposta `200`: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

```json
[]
```

Erros documentados: `404`, `405`, `503`. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder `200 {"accepted":false}`; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

## JavaScript / TypeScript

```js
const response = await fetch("https://go.agilink.invalid/.well-known/assetlinks.json", { method: "GET" });
if (!response.ok) throw new Error('HTTP ' + response.status);
const result = await response.json();
// Confira accepted e o ACK de cada evento. Não registre tokens transitórios.
```

## Python

```python
import json
import requests
response = requests.request("GET", "https://go.agilink.invalid/.well-known/assetlinks.json", timeout=30)
response.raise_for_status()
result = response.json()
# Confira accepted/ACK, sem registrar tokens transitórios.
```

## Campos, limites e semântica

Os schemas abaixo descrevem obrigatoriedade, tipos, defaults, enums e limites; referências apontam para components.schemas do contrato baixável. Omitir opcionais usa o comportamento do contrato; null só é aceito onde declarado. A API pública não usa os envelopes, If-Match ou Idempotency-Key administrativos. Eventos e etapas de recuperação usam seus próprios IDs, deduplicação e capacidade transitória. Não repita um resgate como se fosse leitura: consulte o estado e os limites do [ciclo de recuperação](/sdk/contratos-publicos/). A resolução não gera clique administrativo; telemetria é client_reported. Associação nativa publicada exige verificação em aparelho. Sem paginação administrativa; requests não concedem acesso de gerenciamento.

### Request schema

```json
{
  "description": "Sem corpo; parâmetros na URL conforme acima."
}
```

### Response schema

```json
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "relation": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 200
        }
      },
      "target": {
        "type": "object",
        "properties": {
          "namespace": {
            "const": "android_app"
          },
          "package_name": {
            "type": "string",
            "maxLength": 255
          },
          "sha256_cert_fingerprints": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 95
            }
          }
        },
        "required": [
          "namespace",
          "package_name",
          "sha256_cert_fingerprints"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "relation",
      "target"
    ],
    "additionalProperties": true
  }
}
```

Headers: Content-Type application/json nas respostas JSON. Erros aplicáveis são os listados acima e podem ter corpo vazio; 429 exige respeitar Retry-After quando fornecido, sem tentativas ilimitadas. Não trate HTTP 200/ACK como confirmação de conteúdo exibido, instalação ou detecção certa.
