Projects API
Create and manage app projects. Projects are the main container for your app's metadata across both stores.
Projects link your App Store and Play Store apps together, allowing you to manage metadata in one place and sync to both stores.
Get a list of all projects in your account.
GET /projectsAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
limit | number | No | Maximum number of projects to return (default: 20) |
offset | number | No | Number of projects to skip (default: 0) |
Response Example
{"success": true,"data": {"projects": [{"id": "proj_abc123","name": "My Awesome App","appStoreAppId": "123456789","playStorePackageName": "com.example.app","createdAt": "2024-01-15T10:30:00Z","updatedAt": "2024-01-20T14:45:00Z"}],"total": 1,"limit": 20,"offset": 0}}
Code Examples
curl https://api.appstorecopilot.com/v1/projects \-H "Authorization: Bearer $ASC_API_KEY"
Create a new project to manage your app's metadata.
POST /projectsAuthentication
Requires API key with Authorization: Bearer <api_key> header
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the project |
appStoreAppId | string | No | Apple App Store app ID (numeric) |
playStorePackageName | string | No | Google Play Store package name |
Response Example
{"success": true,"data": {"projectId": "proj_abc123","project": {"id": "proj_abc123","name": "My Awesome App","appStoreAppId": "123456789","playStorePackageName": "com.example.app","createdAt": "2024-01-15T10:30:00Z","updatedAt": "2024-01-15T10:30:00Z"}}}
Code Examples
curl -X POST https://api.appstorecopilot.com/v1/projects \-H "Authorization: Bearer $ASC_API_KEY" \-H "Content-Type: application/json" \-d '{"name": "My Awesome App","appStoreAppId": "123456789","playStorePackageName": "com.example.app"}'
Get details for a specific project.
GET /projects/:projectIdAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
Response Example
{"success": true,"data": {"project": {"id": "proj_abc123","name": "My Awesome App","appStoreAppId": "123456789","playStorePackageName": "com.example.app","createdAt": "2024-01-15T10:30:00Z","updatedAt": "2024-01-20T14:45:00Z","metadata": {"locales": ["en-US", "es-ES", "fr-FR"],"lastSyncedAt": "2024-01-20T14:45:00Z"}}}}
Code Examples
curl https://api.appstorecopilot.com/v1/projects/proj_abc123 \-H "Authorization: Bearer $ASC_API_KEY"
Update a project's settings.
PATCH /projects/:projectIdAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | New display name for the project |
appStoreAppId | string | No | Apple App Store app ID |
playStorePackageName | string | No | Google Play Store package name |
Response Example
{"success": true,"data": {"project": {"id": "proj_abc123","name": "Updated App Name","appStoreAppId": "123456789","playStorePackageName": "com.example.app","updatedAt": "2024-01-21T09:00:00Z"}}}
Code Examples
curl -X PATCH https://api.appstorecopilot.com/v1/projects/proj_abc123 \-H "Authorization: Bearer $ASC_API_KEY" \-H "Content-Type: application/json" \-d '{"name": "Updated App Name"}'
Delete a project and all associated metadata. This action cannot be undone.
DELETE /projects/:projectIdAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
Response Example
{"success": true,"data": {"deleted": true}}
Code Examples
curl -X DELETE https://api.appstorecopilot.com/v1/projects/proj_abc123 \-H "Authorization: Bearer $ASC_API_KEY"
Pull the latest metadata from App Store and/or Play Store.
POST /projects/:projectId/syncAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
store | string | No | Store to sync from: "appstore", "playstore", or "both" (default: both) |
Response Example
{"success": true,"data": {"syncedLocales": ["en-US", "es-ES", "fr-FR"],"appStore": {"synced": true,"locales": 3},"playStore": {"synced": true,"locales": 3}}}
Code Examples
curl -X POST https://api.appstorecopilot.com/v1/projects/proj_abc123/sync \-H "Authorization: Bearer $ASC_API_KEY" \-H "Content-Type: application/json" \-d '{"store": "both"}'
Push metadata changes to App Store and/or Play Store.
POST /projects/:projectId/pushAuthentication
Requires API key with Authorization: Bearer <api_key> header
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project ID |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
store | string | No | Store to push to: "appstore", "playstore", or "both" (default: both) |
locales | string[] | No | Specific locales to push. If omitted, pushes all locales. |
Response Example
{"success": true,"data": {"pushedLocales": ["en-US", "es-ES", "fr-FR"],"appStore": {"pushed": true,"locales": 3},"playStore": {"pushed": true,"locales": 3}}}
Code Examples
curl -X POST https://api.appstorecopilot.com/v1/projects/proj_abc123/push \-H "Authorization: Bearer $ASC_API_KEY" \-H "Content-Type: application/json" \-d '{"store": "both","locales": ["en-US", "es-ES"]}'