API Reference
Metadata API
API reference for reading and updating App Store and Google Play metadata.
Metadata API#
Get Metadata#
GET
/v1/projects/:id/metadata— Requires authentication
Returns the current App Store or Google Play metadata for a project.
Path Parameters#
| Name | Type | Required | Description |
|------|------|----------|-------------|
| id | string | Yes | The project ID. |
Query Parameters#
| Name | Type | Required | Description |
|------|------|----------|-------------|
| locale | string | No | Locale to retrieve metadata for. e.g., 'en-US', 'ja', 'de'. Defaults to the project's primary locale. |
Response#
{
"name": "Versed - Language Learning",
"subtitle": "Master any language with AI",
"description": "Versed uses spaced repetition and AI-powered flashcards to help you learn any language. Track your progress, compete with friends, and master vocabulary faster than ever.\n\nFeatures:\n- AI-generated flashcards\n- Spaced repetition algorithm\n- 40+ languages\n- Offline mode",
"keywords": "language,learning,flashcards,AI,vocabulary,spaced repetition",
"promotionalText": "New: Japanese course available!",
"whatsNew": "Bug fixes and performance improvements.",
"category": "Education",
"locale": "en-US"
}
Example#
curl -H "Authorization: Bearer sk_stora_..." \
"https://stora.sh/api/v1/projects/proj_abc123/metadata?locale=en-US"
Tip: Use the
localeparameter to manage metadata across multiple languages. Stora supports all locales accepted by the App Store and Google Play.
Update Metadata#
PUT
/v1/projects/:id/metadata— Requires authentication
Update one or more metadata fields for a project. Only the fields you include in the request body will be changed.
Path Parameters#
| Name | Type | Required | Description |
|------|------|----------|-------------|
| id | string | Yes | The project ID. |
Request Body#
| Name | Type | Required | Description |
|------|------|----------|-------------|
| fields | object | Yes | An object containing the metadata fields to update. Valid keys: name, subtitle, description, keywords, promotionalText, whatsNew. |
| locale | string | No | Locale to update metadata for. Defaults to the project's primary locale. |
Response#
Returns the full updated metadata object (same shape as the GET response).
Example#
curl -X PUT \
-H "Authorization: Bearer sk_stora_..." \
-H "Content-Type: application/json" \
-d '{
"fields": {
"subtitle": "Learn languages with AI flashcards",
"keywords": "language,learning,flashcards,AI,vocabulary,tutor"
},
"locale": "en-US"
}' \
https://stora.sh/api/v1/projects/proj_abc123/metadata
Field Limits#
| Field | App Store Limit | Google Play Limit |
|---|---|---|
| name | 30 characters | 30 characters |
| subtitle | 30 characters | 80 characters (short description) |
| description | 4,000 characters | 4,000 characters |
| keywords | 100 characters | N/A (Google uses description) |
| promotionalText | 170 characters | N/A |
| whatsNew | 4,000 characters | 500 characters |
Warning: Stora will validate field lengths before saving. If a field exceeds the limit for the target store, the request will return a
400error with details about which field was too long.