# Composition API API

> Composition API API on Apizie: 20 endpoints (Send requests to the Algolia REST API, Send requests to the Algolia REST API, Send requests to the Algolia REST API, Send requests to the Algolia REST API, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/search-tools:algolia-composition/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `search-tools:algolia-composition`
- Category: Search Tools
- Status: byok
- Source: https://algolia
- Page: https://zieapi.vercel.app/api/search-tools/algolia-composition
- OpenAPI: https://zieapi.vercel.app/api/search-tools/algolia-composition/openapi.json

## Client libraries Use Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps. For more information, see [Algolia's ecosystem](https://www.algolia.com/doc/libraries). ## Base URLs Base…

## Endpoints

### Send requests to the Algolia REST API
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| path | string | yes | Path of the endpoint, for example `1/newFeature`. |
| parameters | object | no | Query parameters to apply to the current query. |

### Send requests to the Algolia REST API
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| path | string | yes | Path of the endpoint, for example `1/newFeature`. |
| parameters | object | no | Query parameters to apply to the current query. |
| body | object | no | JSON request body |

### Send requests to the Algolia REST API
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-put` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| path | string | yes | Path of the endpoint, for example `1/newFeature`. |
| parameters | object | no | Query parameters to apply to the current query. |
| body | object | no | JSON request body |

### Send requests to the Algolia REST API
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| path | string | yes | Path of the endpoint, for example `1/newFeature`. |
| parameters | object | no | Query parameters to apply to the current query. |

### Run a Composition
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/search` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| body | object | yes | JSON request body |

### Search for facet values
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/search-for-facet-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| facetName | string | yes | Facet attribute in which to search for values. This attribute must be included in the `attributesForFaceting` index setting with the… |
| body | object | no | JSON request body |

### List compositions
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/list-compositions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| page | string | no | Requested page of the API response. If `null`, the API response is not paginated. |
| hitsPerPage | integer | no | Number of hits per page. |

### Retrieve a composition
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/get-composition` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |

### Update and insert (upsert) a composition
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/put-composition` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| body | object | yes | JSON request body |

### Delete a composition
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/delete-composition` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |

### Batch action to multiple compositions
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/multiple-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| body | object | yes | JSON request body |

### Set or update the "sortingStrategy" configuration for an existing composition
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/update-sorting-strategy-composition` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| body | object | yes | JSON request body |

### Retrieve a rule
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/get-rule` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| objectID | string | yes | Unique identifier of a rule object. |

### Add or update a composition rule
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/put-composition-rule` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| objectID | string | yes | Unique identifier of a rule object. |
| body | object | yes | JSON request body |

### Delete a Composition Rule
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/delete-composition-rule` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| objectID | string | yes | Unique identifier of a rule object. |

### Create or update or delete composition rules
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/save-rules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| body | object | yes | JSON request body |

### Search for composition rules
`POST https://zieapi.vercel.app/v1/search-tools:algolia-composition/search-composition-rules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| body | object | no | JSON request body |

### Check task status
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/get-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | Unique Composition ObjectID. |
| taskID | integer | yes | Unique task identifier. |

### Switch the API key used to authenticate requests
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/set-client-api-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| apiKey | string | yes | API key to use for subsequent requests. |

### Wait for operation to complete
`GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/wait-for-composition-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| algolia_application_id | string | yes | Part of the server address: https://{algolia_application_id}.algolia.net |
| compositionID | string | yes | The ID of the composition on which the operation was performed. |
| taskID | integer | yes | The taskID returned by the operation. |

## Example
```
curl "https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-get" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Composition API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/search-tools:algolia-composition/custom-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Composition API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Composition API itself also needs your own key from algolia.

### Can AI agents use the Composition API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key search-tools:algolia-composition.

### What is the status of the Composition API API?
Needs your own provider key (bring your own key)
