> For the complete documentation index, see [llms.txt](https://layer3xyz.gitbook.io/layer3-updated-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://layer3xyz.gitbook.io/layer3-updated-docs/builder/guides/guides--custom-api-integration.md).

# Custom API Integration

This `CUSTOM API` Activation action is a flexible and composable building block for our Activation system that allows checking the Activation validity with a REST endpoint call.

<figure><img src="https://752488452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhSilmqBx7U8CtP2hlByI%2Fuploads%2F5hVxMT4LsITLx5b8Sdy9%2Fimage.png?alt=media&#x26;token=3b83fd90-1ba5-43fa-9ef1-c65646854de3" alt=""><figcaption></figcaption></figure>

### Request

Layer3 will initiate a `GET` request to a specified endpoint when a user tries to verify the Activation step.

Available configuration:

* An endpoint url (ex: `https://example.com/partner-activation`)
* Header values (ex: `api-key: 12345`) *(optional)*

Layer3 will include the user’s address as a query parameter (`address=XXX`) to the request.

Endpoint url: `https://example.com/partner-activation`

Actual request: `https://example.com/partner-activation?address=0x728713b41fcEc5C071359Ecf2802Fa0B62bec5a8` (example)

### Response

* If user validates positive: Status code `200` and `{"status": "success"}`
* If user validates negative: Status code `200` and `{"status": "failed"}`
* If the wrong inputs or keys are given a `4xx` response should be returned.
* If something is wrong on the partner side (not Layer3) a `5xx` response should be returned.

Additional keys like `message` are OK (can be useful for debugging), but won’t be visible to the user.

All responses should be JSON.
