cURL
curl "https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/export" \
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-H 'Content-Type: application/json' \
-d '{"pr_branch":"my-feature-branch", "branch":"my-strings-branch"}'phrase repo_syncs export \
--id <repo_sync_id> \
--data '{"pr_branch":"my-feature-branch", "branch":"my-strings-branch"}' \
--access_token <token>import requests
url = "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export"
payload = {
"pr_branch": "my-feature-branch",
"branch": "my-strings-branch"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({pr_branch: 'my-feature-branch', branch: 'my-strings-branch'})
};
fetch('https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pr_branch' => 'my-feature-branch',
'branch' => 'my-strings-branch'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export"
payload := strings.NewReader("{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}"
response = http.request(request)
puts response.read_body{
"type": "import",
"created_at": "2015-01-28T09:52:53Z",
"status": "failure",
"auto_import": true,
"errors": [
"Error message 1",
"Error message 2"
]
}{
"message": "Validation Failed",
"errors": [
{
"resource": "Resource",
"field": "name",
"message": "can't be blank"
}
]
}Repo Syncs
Export to code repository
Export translations from Phrase Strings to repository provider according to the .phrase.yml file within the code repository.
Export is done asynchronously and may take several seconds depending on the project size.
POST
/
accounts
/
{account_id}
/
repo_syncs
/
{id}
/
export
cURL
curl "https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/export" \
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-H 'Content-Type: application/json' \
-d '{"pr_branch":"my-feature-branch", "branch":"my-strings-branch"}'phrase repo_syncs export \
--id <repo_sync_id> \
--data '{"pr_branch":"my-feature-branch", "branch":"my-strings-branch"}' \
--access_token <token>import requests
url = "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export"
payload = {
"pr_branch": "my-feature-branch",
"branch": "my-strings-branch"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({pr_branch: 'my-feature-branch', branch: 'my-strings-branch'})
};
fetch('https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pr_branch' => 'my-feature-branch',
'branch' => 'my-strings-branch'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export"
payload := strings.NewReader("{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pr_branch\": \"my-feature-branch\",\n \"branch\": \"my-strings-branch\"\n}"
response = http.request(request)
puts response.read_body{
"type": "import",
"created_at": "2015-01-28T09:52:53Z",
"status": "failure",
"auto_import": true,
"errors": [
"Error message 1",
"Error message 2"
]
}{
"message": "Validation Failed",
"errors": [
{
"resource": "Resource",
"field": "name",
"message": "can't be blank"
}
]
}Authorizations
TokenBasic
Enter your token in the format token TOKEN
Headers
Two-Factor-Authentication token (optional)
Body
application/json
Response
OK
Available options:
import, export Available options:
running, success, failure URL of the pull request created on export
Whether the import was triggered by the repo push event
List of error messages, in case of failure
Was this page helpful?
⌘I