Skip to content

Exports ​

Export endpoints retrieve project data in Arcweave JSON or an engine-specific format.

The Unity, Unreal Engine, and Godot endpoints return JSON with the exported data inside a project property. The JSON endpoint returns the project data directly. Engine downloads from the editor are ZIP archives containing project.json and, when requested, assets.

Rate limits

Project imports and exports share a workspace quota of 3 requests per minute per purchased seat. Export requests, including HEAD requests, also count toward the overall API quota of 60 requests per minute per purchased seat. See Rate limits for seat allowances, shared quotas, and retry guidance.

For all export endpoints, send locale as a single language-code string and boolean query parameters as true or false. Only lowercase allLocales=true enables all languages; allLocales=1 does not. An array for locale or an unrecognized allLocales value returns 400 Bad Request with the title Bad Request - project export parameters; each field in errors lists its messages in an array. Engine exports also reject invalid fallbackContents values with the same response.

The API doesn't check locale against the project's languages. An unknown code, or a code with different letter case, returns null for the localized fields instead of an error.

Endpoints ​

JSON export # GET/api/v1/{hash}/json

Request

http
GET /api/v1/{hash}/json
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/json"

Response

Returns 200 OK.

The response uses the Arcweave JSON export format. The body is JSON, but the response's Content-Type header is text/html; charset=UTF-8. Parse the body as JSON regardless of this header.

This endpoint always omits board-item positions and the dimensions and automatic-height settings of elements and notes. Importing this response generates a new layout. To preserve layout, export JSON from the editor with Include coordinates enabled; the REST endpoint has no equivalent parameter.

Query parameters

All JSON export query parameters are optional:

ParameterValueBehaviorWhen omitted
boardIds[]Board IDSelects boards and their board items. Repeat the parameter for multiple boards.The export includes all project boards.
localeLanguage ISO codeExports localized content for the specified language, for example es.The export uses the project's default language.
allLocalesBooleanWhen true, exports all available languages. This overrides locale when both parameters are supplied.Defaults to false; the locale behavior applies.

Selecting a board folder includes all boards inside it. Unknown board IDs are ignored. Board selection keeps components, attributes, assets, and global variables from the whole project, including attributes belonging to excluded boards or items. Review these collections before sharing a partial export.

Retrieve the full project in its default language:

http
GET /api/v1/{hash}/json
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/json"

Retrieve the full project in Spanish:

http
GET /api/v1/{hash}/json?locale=es
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/json?locale=es"

Retrieve two boards in Spanish:

http
GET /api/v1/{hash}/json?boardIds[]=board_1&boardIds[]=board_2&locale=es
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/json?boardIds%5B%5D=board_1&boardIds%5B%5D=board_2&locale=es"

boardIds must be an array of board ID strings. A non-array value or a nested array entry returns 400 Bad Request.

Retrieve the full project in all available languages:

http
GET /api/v1/{hash}/json?allLocales=true
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/json?allLocales=true"

Deprecated asset filename header

AW-No-Filter-Asset-Names is deprecated and will be removed soon. New integrations should use the dedicated asset endpoints, and existing integrations should migrate to them.

The header exposes stored asset filenames in JSON and Godot exports:

http
AW-No-Filter-Asset-Names: true

Use the dedicated asset endpoints instead:

  1. Read the asset IDs from the export's assets object.
  2. Retrieve an asset's metadata and stored filename with GET /asset/{assetID}.
  3. Retrieve its binary file with GET /asset/{assetID}/file.

Export for Unity # GET/api/v1/{hash}/unity

Request

http
GET /api/v1/{hash}/unity
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/unity"

Response

Returns 200 OK.

Returns the project format used by the Arcweave Unity integration inside the project property. Abbreviated response:

json
{
  "project": {
    "name": "The Castle"
  }
}
Query parameterTypeDescription
localeLanguage ISO codeExport content for one language.
allLocalesBooleanExport all languages and override locale.
fallbackContentsBooleanWhen true, empty values use the Translates from language chain. Defaults to false.

Export for Unreal Engine # GET/api/v1/{hash}/unreal

Request

http
GET /api/v1/{hash}/unreal
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/unreal"

Response

Returns 200 OK.

Returns the project format used by the Arcweave Unreal Engine integration inside the project property. Abbreviated response:

json
{
  "project": {
    "name": "The Castle"
  }
}
Query parameterTypeDescription
localeLanguage ISO codeExport content for one language.
allLocalesBooleanExport all languages and override locale.
fallbackContentsBooleanWhen true, empty values use the Translates from language chain. Defaults to false.

Export for Godot # GET/api/v1/{hash}/godot

Request

http
GET /api/v1/{hash}/godot
bash
curl --request GET \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Accept: application/json" \
  "https://arcweave.com/api/v1/PROJECT_HASH/godot"

Response

Returns 200 OK.

Returns the project format used by the Arcweave Godot integration inside the project property. Abbreviated response:

json
{
  "project": {
    "name": "The Castle"
  }
}
Query parameterTypeDescription
localeLanguage ISO codeExport content for one language.
allLocalesBooleanExport all languages and override locale.
fallbackContentsBooleanWhen true, empty values use the Translates from language chain. Defaults to false.

Deprecated asset filename header

AW-No-Filter-Asset-Names is deprecated and will be removed soon. New integrations should use the dedicated asset endpoints, and existing integrations should migrate to them.

Common errors ​

StatusMeaning
400Invalid export query.
403Export feature, project access, or permission denied.
404Project not found.
500Export failed unexpectedly.