# sUNC Data

{% hint style="info" %}
**Reminder:** You can access these endpoints on **any** of our domains without restrictions. If you hit our **rate limit**, reduce the **interval** at which you are fetching our services.

The user-agent **`WEAO-3PService`** is required to access any of WEAO's resources.

**Main Domains:**

* weao.xyz
* whatexpsare.online

**Alternatives:**

* whatexploitsaretra.sh
* weao.gg
  {% endhint %}

## Retrieving sUNC API Data

Returns executor test metadata and function compatibility results.

You can obtain all sUNC data via this route:&#x20;

<mark style="color:green;">`GET`</mark>  `https://weao.xyz/api/sunc?scrap=[suncScrap]&key=[suncKey]`&#x20;

{% hint style="info" %}
You can obtain `suncScrap` , `suncKey` from our [Exploits](/weao-api-reference/exploits.md) API for any executor
{% endhint %}

| Query Params | Type   | What it is              |
| ------------ | ------ | ----------------------- |
| `scrap`      | string | suncScrap id            |
| `key`        | string | Key to access suncScrap |

Example Response:&#x20;

{% tabs %}
{% tab title="200 (OK)" %}

```json
{
  "timestamp": 1769572300.476,
  "version": "2.1.5",
  "bibip": false,
  "timeTaken": 28.81,
  "executor": "Exec",
  "outdated": false,
  "tests": {
    "passed": [],
    "failed": []
  }
}
```

{% endtab %}

{% tab title="429 (Rate limit)" %}

```json
This is only an example, your response might be different!
{
    "error": "Too Many Requests",
    "rateLimitInfo": {
        "remainingTime": 120,
        "requestsRemaining": 0,
        "resetTime": 1753410630360
    }
}
```

{% endtab %}
{% endtabs %}

## Top level fields

| Field       | Type      | What it is                                            |
| ----------- | --------- | ----------------------------------------------------- |
| `timestamp` | `number`  | Unix timestamp of when the sUNC result was generated  |
| `version`   | `string`  | Version of the executor/build being tested            |
| `bibip`     | `boolean` | Boolean flag returned by the API                      |
| `timeTaken` | `number`  | Total time taken to complete the test run, in seconds |
| `executor`  | `string`  | Name of the executor being tested                     |
| `outdated`  | `boolean` | Whether the executor/build is outdated                |
| `tests`     | `object`  | Contains categorized test results                     |

## Tests object

| Field    | Type    | What it is                |
| -------- | ------- | ------------------------- |
| `passed` | `array` | List of tests that passed |
| `failed` | `array` | List of tests that failed |

## Passed test object

Each entry inside `tests.passed` uses this structure:

| Field         | Type     | What it is                                  |
| ------------- | -------- | ------------------------------------------- |
| `name`        | `string` | Name of the tested function or feature      |
| `description` | `string` | Short explanation of what the function does |
| `library`     | `string` | Library/category the function belongs to    |
| `status`      | `string` | Test result, always `passed` for this array |

Example:&#x20;

```json
{
"name": "getrawmetatable",
"description": "Returns the metatable of an object, bypassing the __metatable field.",
"library": "Metatable",
"status": "passed"
}
```

## Failed Test Object

Each entry inside `tests.failed` uses this structure:

| Field         | Type     | What it is                                            |
| ------------- | -------- | ----------------------------------------------------- |
| `name`        | `string` | Name of the tested function or feature                |
| `description` | `string` | Short explanation of what the function does           |
| `library`     | `string` | Library/category the function belongs to              |
| `status`      | `string` | Test result, always `failed` for this array           |
| `reason`      | `string` | Explains why the test failed or could not be verified |

Example:&#x20;

```json
{
"name": "gethiddenproperty",
"description": "Returns the value of a hidden property of an object, which cannot be indexed normally.",
"library": "Instances",
"status": "failed",
"reason": "This is so FIRE 🔥🔥🔥"
}
```

## Notes

* `tests.passed` and `tests.failed` are separated into different arrays.
* Failed test objects include a `reason` field.
* `library` can be used to group functions in your frontend or documentation.
* `timestamp` is returned as a Unix timestamp with fractional precision.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.weao.xyz/weao-api-reference/sunc-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
