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

# Authorization

> Authenticate your API requests with Bearer token

All Wiza API requests require authentication using a Bearer token. Include your API key in the `Authorization` header of every request.

## Header Format

```
Authorization: Bearer YOUR_API_KEY
```

## Examples

<CodeGroup>
  ```bash curl theme={"dark"}
  curl -X POST https://wiza.co/api/individual_reveals \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "individual_reveal": {
        "profile_url": "https://www.linkedin.com/in/example/"
      },
      "enrichment_level": "partial"
    }'
  ```

  ```javascript JavaScript theme={"dark"}
  const apiKey = "YOUR_API_KEY";

  const response = await fetch("https://wiza.co/api/individual_reveals", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${apiKey}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      individual_reveal: {
        profile_url: "https://www.linkedin.com/in/example/"
      },
      enrichment_level: "partial"
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={"dark"}
  import requests

  api_key = "YOUR_API_KEY"

  headers = {
      "Authorization": f"Bearer {api_key}",
      "Content-Type": "application/json"
  }

  payload = {
      "individual_reveal": {
          "profile_url": "https://www.linkedin.com/in/example/"
      },
      "enrichment_level": "partial"
  }

  response = requests.post(
      "https://wiza.co/api/individual_reveals",
      headers=headers,
      json=payload
  )

  print(response.json())
  ```

  ```ruby Ruby theme={"dark"}
  require "uri"
  require "json"
  require "net/http"

  api_key = "YOUR_API_KEY"

  url = URI("https://wiza.co/api/individual_reveals")
  https = Net::HTTP.new(url.host, url.port)
  https.use_ssl = true

  request = Net::HTTP::Post.new(url)
  request["Authorization"] = "Bearer #{api_key}"
  request["Content-Type"] = "application/json"
  request.body = JSON.dump({
    individual_reveal: {
      profile_url: "https://www.linkedin.com/in/example/"
    },
    enrichment_level: "partial"
  })

  response = https.request(request)
  puts response.read_body
  ```
</CodeGroup>

## Error Responses

### 401 Unauthorized

Returned when the API key is missing, invalid, or expired.

```json theme={"dark"}
{
  "status": {
    "code": 401,
    "message": "Unauthorized"
  }
}
```

**Common causes:**

* Missing `Authorization` header
* Invalid API key format (must be `Bearer YOUR_API_KEY`)
* API key has been disabled
* API key does not exist

## Related

* [Generate an API Key](/account-access/generate-api-key) - Create your API key
* [API Key Management](/account-access/api-key-management) - Manage and rotate keys
* [Status Codes & Errors](/using-the-api/status-codes-and-errors) - Full error reference
