---
title: "Resolve implicit requirement target from global non-fungible id"
method: POST
path: "/extensions/implicit-requirements/lookup"
tags: ["Extensions"]
---

# Resolve implicit requirement target from global non-fungible id

`POST /extensions/implicit-requirements/lookup`

Access rules can include [implicit requirements](https://docs.radixdlt.com/docs/advanced-accessrules#implicit-requirements) referencing special system-reserved resource addresses, which have specific meanings for the Radix Engine and are not part of the standard authorization zone system.
These implicit requirements typically store their details as a hash, which means the subject of the requirement can't be easily resolved. This is where this endpoint comes in. It can resolve the subject of the implicit requirements, using a database of reverse hash lookups populated from ledger data.

The following [resource addresses](https://docs.radixdlt.com/docs/well-known-addresses) are supported:
- **Secp256k1 Signature Resource**
- **Ed25519 Signature Resource**
- **Package of Direct Caller Resource**
- **Global Caller Resource**
- **System Execution Resource**

When querying, you must provide a pair of the following for each requirement to resolve:
- `resource_address` (one of the above)
- `non_fungible_id`,  of the requirement.

You can query a maximum of `100` implicit requirements at a time.

See the documentation on
[implicit-requirements](https://docs.radixdlt.com/docs/advanced-accessrules#implicit-requirements)
for more information.

## Request body

- ImplicitRequirementsLookupRequest
  - `requirements` NonFungibleGlobalId[], required — limited to max 100 items.
    - `resource_address` string, required — Bech32m-encoded human readable version of the address.
    - `non_fungible_id` string, required — String-encoded non-fungible ID.

## Response `200`

List of resolved implicit requirements.

- ImplicitRequirementsLookupResponse
  - `resolved_requirements` ImplicitRequirementsLookupCollectionItem[], required
    - `requirement` NonFungibleGlobalId, required
      - `resource_address` string, required — Bech32m-encoded human readable version of the address.
      - `non_fungible_id` string, required — String-encoded non-fungible ID.
    - `resolved` ResolvedImplicitRequirement
      - `type` 'Secp256k1PublicKey' | 'Ed25519PublicKey' | 'GlobalCallerBlueprint' | 'GlobalCallerEntity' | 'PackageOfDirectCaller' | 'ProtocolExecution' | 'ValidatorExecution', required

## Other responses

- `4XX` — Client-originated request error

---

[API](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon.md) · [All operations](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/radixdlt/radix-gateway-api-babylon/versions/153aecf74342/schema)
