> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.nilo.services/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.nilo.services/_mcp/server.

# Cadastrar ou atualizar

POST https://landing-zone-api.nilo.services/fhir/resources/Location
Content-Type: application/json

Cria um local de atendimento ou atualiza um existente, reconhecido pelo `identifier`. Grava nome, código CNES e endereço. **Omitir `address` numa atualização apaga o endereço já cadastrado.**

Reference: https://api-docs.nilo.services/referencia/endpoints/location/create

## Authentication

- `x-api-key` header (required) — API Key authentication via header

## Servers

- `https://landing-zone-api.nilo.services` (Production, default)
- `https://landing-zone-api.stg.nilo.services` (Staging)

## Request

### Body (application/json)

This endpoint expects a Location.

- `resourceType` (string, required, default: Location) — Indica o tipo do recurso transacionado.
- `identifier` (list of Identifier, required) — Suas chaves do local. **Obrigatório na escrita**: é por elas que a API decide entre criar um local novo e atualizar um existente. Um identificador no `system` `https://cnes.datasus.gov.br/` é tratado à parte — o `value` dele vira o código CNES do estabelecimento, que é **único** no ambiente.
- `name` (string, required) — Nome do estabelecimento. No máximo 200 caracteres.
- `id` (string, optional) — Só resposta: identificador Nilo FHIR do local.
- `meta` (Meta, optional) — Só resposta: metadados da gravação.
- `address` (Location_Address, optional) — Endereço do estabelecimento. **Omitir este campo numa atualização apaga o endereço já cadastrado.**

## Response

### 200

Local criado ou atualizado. O corpo é o recurso como ficou gravado, sem envelope.

- `resourceType` (string, required, default: Location) — Indica o tipo do recurso transacionado.
- `identifier` (list of Identifier, required) — Suas chaves do local. **Obrigatório na escrita**: é por elas que a API decide entre criar um local novo e atualizar um existente. Um identificador no `system` `https://cnes.datasus.gov.br/` é tratado à parte — o `value` dele vira o código CNES do estabelecimento, que é **único** no ambiente.
- `name` (string, required) — Nome do estabelecimento. No máximo 200 caracteres.
- `id` (string, optional) — Só resposta: identificador Nilo FHIR do local.
- `meta` (Meta, optional) — Só resposta: metadados da gravação.
- `address` (Location_Address, optional) — Endereço do estabelecimento. **Omitir este campo numa atualização apaga o endereço já cadastrado.**

## Errors

### 400 Bad Request Error

Rejeitado. O corpo é um `OperationOutcome`; quando a recusa é de um campo conferido por esta API, ele vem em `issue[].expression`.

- `issue` (list of OperationOutcomeIssueItems, required) — Uma coleção de mensagens de erro, aviso ou informação que resultado de uma ação do sistema.
- `resourceType` (string, required, default: OperationOutcome) — Indica o tipo do recurso transacionado.

### 409 Conflict Error

O código CNES enviado já pertence a outro estabelecimento do ambiente. O CNES é único.

- `issue` (list of OperationOutcomeIssueItems, required) — Uma coleção de mensagens de erro, aviso ou informação que resultado de uma ação do sistema.
- `resourceType` (string, required, default: OperationOutcome) — Indica o tipo do recurso transacionado.

## Types

### Identifier

Um identificador, código que identifica alguma entidade de forma única e inequívoca. Normalmente, isso é usado para identificadores de negócios.

- `system` (string, required) — O namespace para o valor do identificador. O cliente deve usar o seu próprio namespace.
- `value` (string, required) — O código de identificação único. Cliente deve usar o seu próprio.
- `use` (enum, optional) — A finalidade deste identificador.
  - Allowed values: `usual`, `official`, `temp`, `secondary`, `old`

### Meta

Os metadados sobre um recurso. Este conteúdo do recurso é normalmente mantido pelo sistema gestor do registro.

- `lastUpdated` (string, optional) — Um instante no tempo (necessário conhecer pelo menos até o nível de segundos).
- `versionId` (string, optional) — Qualquer combinação de letras, números, "-" e ".", com um limite de 64 caracteres. (Pode ser um número inteiro, um OID não prefixado, UUID ou qualquer outro padrão de identificador que atenda a essas restrições.) Os IDs não diferenciam maiúsculas de minúsculas.

### Location_Address

Endereço do estabelecimento. `line` é posicional — rua, número e complemento, nessa ordem.

- `line` (list of string, required) — Logradouro, número e complemento, **nessa ordem e por posição**: `line[0]` é a rua, `line[1]` o número (no máximo 10 caracteres) e `line[2]` o complemento. String vazia não é aceita — endereço sem número usa `S/N`. Posições além da terceira são ignoradas em silêncio. Na leitura, as posições sem valor são **omitidas**, o que encurta a lista.
- `postalCode` (string, required) — CEP. **Obrigatório sempre que `address` for enviado** — um endereço sem CEP é recusado.
- `district` (string, optional) — Bairro.
- `city` (string, optional) — Cidade.
- `state` (string, optional) — Estado, por extenso ou pela sigla de duas letras.
- `country` (string, optional) — País.
- `text` (string, optional) — Só resposta: o endereço montado numa linha só pela plataforma. Enviá-lo não tem efeito.
- `use` (enum, optional) — Só resposta: constante `work`.
  - Allowed values: `work`
- `type` (enum, optional) — Só resposta: constante `both`.
  - Allowed values: `both`

### OperationOutcomeIssueItems

Uma mensagem de erro, aviso ou informação que resultado de uma ação do sistema.

- `code` (enum, optional) — Descreve o tipo do problema.
  - Allowed values: `invalid`, `structure`, `required`, `value`, `invariant`, `security`, `login`, `unknown`, `expired`, `forbidden`, `suppressed`, `processing`, `not-supported`, `duplicate`, `multiple-matches`, `not-found`, `deleted`, `too-long`, `code-invalid`, `extension`, `too-costly`, `business-rule`, `conflict`, `transient`, `lock-error`, `no-store`, `exception`, `timeout`, `incomplete`, `throttled`, `informational`
- `details` (CodeableConcept, optional) — Detalhes adicionais sobre os códigos de resultado da operação de erro.
- `diagnostics` (string, optional) — Informações de diagnóstico adicionais sobre o problema
- `expression` (list of string, optional) — FHIR Path (caminho) do(s) elemento(s) relacionado(s) ao problema.
- `severity` (enum, optional) — Indica o resultado do processamento apesar do problema indicado.
  - Allowed values: `fatal`, `error`, `warning`, `information`

### CodeableConcept

Um CodeableConcept representa um valor geralmente fornecido como uma referência a terminologias ou ontologias, mas também pode ser definido pelo fornecimento de texto. Esse é um padrão comum em dados de saúde.

- `coding` (list of Coding, optional) — Código definido por um sistema de terminologia.
- `text` (string, optional) — Representação de texto simples do conceito.

### Coding

Código definido por um sistema de terminologia.

- `code` (string, optional) — Código de identificação de um termo no sistema terminológico.
- `display` (string, optional) — Representação textual definida pelo sistema terminológico.
- `system` (string, optional) — Identidade do sistema terminológico.

## Examples

### Local gravado

**Response**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--health-facility",
      "value": "295",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    },
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "id": "8b53f107-2d94-4c6e-a71f-9042e5b8c316",
  "meta": {
    "lastUpdated": "2026-08-24T13:42:07.554000Z",
    "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
  },
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil",
    "text": "Rua Tamandaré, 321, Casa 2 - Liberdade, São Paulo/SP. 01503-001.",
    "use": "work",
    "type": "both"
  }
}
```

**SDK Code**

```python Local gravado
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Location"

headers = {"x-api-key": "<apiKey>"}

response = requests.post(url, headers=headers)

print(response.json())
```

```javascript Local gravado
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Location';
const options = {method: 'POST', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Local gravado
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Location"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Local gravado
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Local gravado
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://landing-zone-api.nilo.services/fhir/resources/Location")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php Local gravado
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://landing-zone-api.nilo.services/fhir/resources/Location', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Local gravado
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Location");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Local gravado
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Location")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Cadastrar um local com endereço

**Request**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  }
}
```

**Response**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--health-facility",
      "value": "295",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    },
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "id": "8b53f107-2d94-4c6e-a71f-9042e5b8c316",
  "meta": {
    "lastUpdated": "2026-08-24T13:42:07.554000Z",
    "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
  },
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil",
    "text": "Rua Tamandaré, 321, Casa 2 - Liberdade, São Paulo/SP. 01503-001.",
    "use": "work",
    "type": "both"
  }
}
```

**SDK Code**

```python Cadastrar um local com endereço
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Location"

payload = {
    "resourceType": "Location",
    "identifier": [
        {
            "system": "https://www.acmesaude.com.br/integracao/local/",
            "value": "HC-01",
            "use": "usual"
        }
    ],
    "name": "Hospital Central Acme",
    "address": {
        "line": ["Rua Tamandaré", "321", "Casa 2"],
        "postalCode": "01503-001",
        "district": "Liberdade",
        "city": "São Paulo",
        "state": "SP",
        "country": "Brasil"
    }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Cadastrar um local com endereço
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Location';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"resourceType":"Location","identifier":[{"system":"https://www.acmesaude.com.br/integracao/local/","value":"HC-01","use":"usual"}],"name":"Hospital Central Acme","address":{"line":["Rua Tamandaré","321","Casa 2"],"postalCode":"01503-001","district":"Liberdade","city":"São Paulo","state":"SP","country":"Brasil"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Cadastrar um local com endereço
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Location"

	payload := strings.NewReader("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\",\n      \"Casa 2\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Cadastrar um local com endereço
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\",\n      \"Casa 2\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Cadastrar um local com endereço
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://landing-zone-api.nilo.services/fhir/resources/Location")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\",\n      \"Casa 2\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}")
  .asString();
```

```php Cadastrar um local com endereço
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://landing-zone-api.nilo.services/fhir/resources/Location', [
  'body' => '{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Cadastrar um local com endereço
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Location");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\",\n      \"Casa 2\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Cadastrar um local com endereço
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "resourceType": "Location",
  "identifier": [
    [
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    ]
  ],
  "name": "Hospital Central Acme",
  "address": [
    "line": ["Rua Tamandaré", "321", "Casa 2"],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Location")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Cadastrar com código CNES

**Request**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    }
  ],
  "name": "Hospital Central Acme",
  "address": {
    "line": [
      "Rua Tamandaré",
      "321"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  }
}
```

**Response**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--health-facility",
      "value": "295",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    },
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "id": "8b53f107-2d94-4c6e-a71f-9042e5b8c316",
  "meta": {
    "lastUpdated": "2026-08-24T13:42:07.554000Z",
    "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
  },
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil",
    "text": "Rua Tamandaré, 321, Casa 2 - Liberdade, São Paulo/SP. 01503-001.",
    "use": "work",
    "type": "both"
  }
}
```

**SDK Code**

```python Cadastrar com código CNES
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Location"

payload = {
    "resourceType": "Location",
    "identifier": [
        {
            "system": "https://www.acmesaude.com.br/integracao/local/",
            "value": "HC-01",
            "use": "usual"
        },
        {
            "system": "https://cnes.datasus.gov.br/",
            "value": "2077485",
            "use": "official"
        }
    ],
    "name": "Hospital Central Acme",
    "address": {
        "line": ["Rua Tamandaré", "321"],
        "postalCode": "01503-001",
        "district": "Liberdade",
        "city": "São Paulo",
        "state": "SP",
        "country": "Brasil"
    }
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Cadastrar com código CNES
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Location';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"resourceType":"Location","identifier":[{"system":"https://www.acmesaude.com.br/integracao/local/","value":"HC-01","use":"usual"},{"system":"https://cnes.datasus.gov.br/","value":"2077485","use":"official"}],"name":"Hospital Central Acme","address":{"line":["Rua Tamandaré","321"],"postalCode":"01503-001","district":"Liberdade","city":"São Paulo","state":"SP","country":"Brasil"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Cadastrar com código CNES
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Location"

	payload := strings.NewReader("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    },\n    {\n      \"system\": \"https://cnes.datasus.gov.br/\",\n      \"value\": \"2077485\",\n      \"use\": \"official\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Cadastrar com código CNES
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    },\n    {\n      \"system\": \"https://cnes.datasus.gov.br/\",\n      \"value\": \"2077485\",\n      \"use\": \"official\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Cadastrar com código CNES
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://landing-zone-api.nilo.services/fhir/resources/Location")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    },\n    {\n      \"system\": \"https://cnes.datasus.gov.br/\",\n      \"value\": \"2077485\",\n      \"use\": \"official\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}")
  .asString();
```

```php Cadastrar com código CNES
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://landing-zone-api.nilo.services/fhir/resources/Location', [
  'body' => '{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    }
  ],
  "name": "Hospital Central Acme",
  "address": {
    "line": [
      "Rua Tamandaré",
      "321"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Cadastrar com código CNES
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Location");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"HC-01\",\n      \"use\": \"usual\"\n    },\n    {\n      \"system\": \"https://cnes.datasus.gov.br/\",\n      \"value\": \"2077485\",\n      \"use\": \"official\"\n    }\n  ],\n  \"name\": \"Hospital Central Acme\",\n  \"address\": {\n    \"line\": [\n      \"Rua Tamandaré\",\n      \"321\"\n    ],\n    \"postalCode\": \"01503-001\",\n    \"district\": \"Liberdade\",\n    \"city\": \"São Paulo\",\n    \"state\": \"SP\",\n    \"country\": \"Brasil\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Cadastrar com código CNES
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "resourceType": "Location",
  "identifier": [
    [
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    ],
    [
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    ]
  ],
  "name": "Hospital Central Acme",
  "address": [
    "line": ["Rua Tamandaré", "321"],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Location")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Cadastrar sem endereço

**Request**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "AZS-01",
      "use": "usual"
    }
  ],
  "name": "Ambulatório Zona Sul"
}
```

**Response**

```json
{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://landing-zone-api.nilo.services/fhir/resources/NamingSystem/almanac-api--health-facility",
      "value": "295",
      "use": "usual"
    },
    {
      "system": "https://cnes.datasus.gov.br/",
      "value": "2077485",
      "use": "official"
    },
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "HC-01",
      "use": "usual"
    }
  ],
  "name": "Hospital Central Acme",
  "id": "8b53f107-2d94-4c6e-a71f-9042e5b8c316",
  "meta": {
    "lastUpdated": "2026-08-24T13:42:07.554000Z",
    "versionId": "MTc4NjAyMTQ1MjkwNTAwMDM2Nw"
  },
  "address": {
    "line": [
      "Rua Tamandaré",
      "321",
      "Casa 2"
    ],
    "postalCode": "01503-001",
    "district": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "Brasil",
    "text": "Rua Tamandaré, 321, Casa 2 - Liberdade, São Paulo/SP. 01503-001.",
    "use": "work",
    "type": "both"
  }
}
```

**SDK Code**

```python Cadastrar sem endereço
import requests

url = "https://landing-zone-api.nilo.services/fhir/resources/Location"

payload = {
    "resourceType": "Location",
    "identifier": [
        {
            "system": "https://www.acmesaude.com.br/integracao/local/",
            "value": "AZS-01",
            "use": "usual"
        }
    ],
    "name": "Ambulatório Zona Sul"
}
headers = {
    "x-api-key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Cadastrar sem endereço
const url = 'https://landing-zone-api.nilo.services/fhir/resources/Location';
const options = {
  method: 'POST',
  headers: {'x-api-key': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"resourceType":"Location","identifier":[{"system":"https://www.acmesaude.com.br/integracao/local/","value":"AZS-01","use":"usual"}],"name":"Ambulatório Zona Sul"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Cadastrar sem endereço
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://landing-zone-api.nilo.services/fhir/resources/Location"

	payload := strings.NewReader("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"AZS-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Ambulatório Zona Sul\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-api-key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Cadastrar sem endereço
require 'uri'
require 'net/http'

url = URI("https://landing-zone-api.nilo.services/fhir/resources/Location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"AZS-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Ambulatório Zona Sul\"\n}"

response = http.request(request)
puts response.read_body
```

```java Cadastrar sem endereço
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://landing-zone-api.nilo.services/fhir/resources/Location")
  .header("x-api-key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"AZS-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Ambulatório Zona Sul\"\n}")
  .asString();
```

```php Cadastrar sem endereço
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://landing-zone-api.nilo.services/fhir/resources/Location', [
  'body' => '{
  "resourceType": "Location",
  "identifier": [
    {
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "AZS-01",
      "use": "usual"
    }
  ],
  "name": "Ambulatório Zona Sul"
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Cadastrar sem endereço
using RestSharp;

var client = new RestClient("https://landing-zone-api.nilo.services/fhir/resources/Location");
var request = new RestRequest(Method.POST);
request.AddHeader("x-api-key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"resourceType\": \"Location\",\n  \"identifier\": [\n    {\n      \"system\": \"https://www.acmesaude.com.br/integracao/local/\",\n      \"value\": \"AZS-01\",\n      \"use\": \"usual\"\n    }\n  ],\n  \"name\": \"Ambulatório Zona Sul\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Cadastrar sem endereço
import Foundation

let headers = [
  "x-api-key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "resourceType": "Location",
  "identifier": [
    [
      "system": "https://www.acmesaude.com.br/integracao/local/",
      "value": "AZS-01",
      "use": "usual"
    ]
  ],
  "name": "Ambulatório Zona Sul"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://landing-zone-api.nilo.services/fhir/resources/Location")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```