cURL
curl "https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/import"\
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-d '{"repository_branch":"my-feature-branch", "branch":"my-strings-branch"}' \
-H 'Content-Type: application/json'phrase repo_syncs import \
--id <repo_sync_id> \
--data '{"repository_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}/import"
payload = {
"repository_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({repository_branch: 'my-feature-branch', branch: 'my-strings-branch'})
};
fetch('https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/import', 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}/import",
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([
'repository_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}/import"
payload := strings.NewReader("{\n \"repository_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}/import")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"repository_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}/import")
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 \"repository_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
Import from code repository
Import translations from repository provider to Phrase Strings according to the .phrase.yml file within the code repository.
Import is done asynchronously and may take several seconds depending on the project size.
POST
/
accounts
/
{account_id}
/
repo_syncs
/
{id}
/
import
cURL
curl "https://api.phrase.com/v2/accounts/ab12cd34/repo_syncs/45ef6789/import"\
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-d '{"repository_branch":"my-feature-branch", "branch":"my-strings-branch"}' \
-H 'Content-Type: application/json'phrase repo_syncs import \
--id <repo_sync_id> \
--data '{"repository_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}/import"
payload = {
"repository_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({repository_branch: 'my-feature-branch', branch: 'my-strings-branch'})
};
fetch('https://api.phrase.com/v2/accounts/{account_id}/repo_syncs/{id}/import', 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}/import",
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([
'repository_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}/import"
payload := strings.NewReader("{\n \"repository_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}/import")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"repository_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}/import")
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 \"repository_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