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

# Quickstart

> Create a project, generate Development credentials, and make your first server-to-server AvraAPI request.

This quickstart explains the standard AvraAPI integration path. It uses a project’s **Development** environment so you can validate your integration before using Production credentials.

## Before you begin

* An active AvraAPI account
* A project in your dashboard
* A backend application where you can keep a secret safe

<Warning>
  Do not place an AvraAPI Client Secret in browser JavaScript, mobile application bundles, public repositories, screenshots, or support messages.
</Warning>

<Steps>
  <Step title="Create or open a project">
    In the AvraAPI dashboard, create a project or open an existing one. Projects start in your Personal Workspace unless you deliberately manage them through a Business Workspace.
  </Step>

  <Step title="Select the Development environment">
    Open the project’s credentials area and select **Development**. Credentials are bound to a project environment; Development credentials cannot become Production credentials merely by changing a request header.
  </Step>

  <Step title="Generate credentials and store them once">
    Copy the Client ID and Client Secret when they are shown. The full secret is displayed only at creation or rotation time. Put it in your server-side secret manager or environment configuration.
  </Step>

  <Step title="Make a server-side request">
    Send the credentials as HTTP headers from your backend. The following example is a representative provider request; see Providers & Microservices for endpoint-specific schemas.
  </Step>
</Steps>

```bash theme={null}
curl --request POST 'https://avraapi.com/api/v1/security/vpn-shield' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: your_development_client_id' \
  --header 'X-API-SECRET: your_development_client_secret' \
  --header 'X-ENV: development' \
  --data '{"ip":"8.8.8.8"}'
```

## Read the response

Successful responses use a stable outer envelope. `request_id` is useful when you contact support or correlate your own server logs.

```json theme={null}
{
  "success": true,
  "request_id": "2da44813-ec46-4dde-b403-6a371543e2b9",
  "data": {
    "ip_address": "8.8.8.8",
    "is_vpn": false,
    "is_proxy": false
  }
}
```

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication & credentials" icon="key" href="/information/authentication-and-credentials" className="border-2 border-slate-800/60 hover:border-[#0450ff] transition-all duration-700 ease-out">
    Learn the required headers, credential rotation, and safe storage rules.
  </Card>

  <Card title="Projects & environments" icon="folder-tree" href="/information/projects-and-environments" className="border-2 border-slate-800/60 hover:border-[#0450ff] transition-all duration-700 ease-out">
    Learn how Development and Production environment boundaries protect your project.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.