curl "https://api.phrase.com/v2/projects/:project_id/styleguides" \
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-d '{"title":"Web application style guide","audience":"customer-facing","target_audience":"teenager","grammatical_person":"first_person_singular","vocabulary_type":"technical","business":"We are a travel site that helps customers find the best hotels and flights.","company_branding":"ACME Inc. should never be translated.","formatting":"Never use capital letters","glossary_terms":"Apartment, cabin, loft","grammar_consistency":","literal_translation":"Neutral","overall_tone":"Tone should be fun and light","samples":"http://www.myexample.com/my/document/path/to/samples.pdf"}' \
-H 'Content-Type: application/json'phrase styleguides create \
--project_id <project_id> \
--data '{"title": "Web application style guide", "audience":"customer-facing", "target_audience":"teenager", "grammatical_person":"first_person_singular", "vocabulary_type":"technical", "business": "We are a travel site that helps customers find the best hotels and flights.", "company_branding": "ACME Inc. should never be translated.", "formatting": "Never use capital letters", "glossary_terms": "Apartment, cabin, loft", "grammar_consistency":", "literal_translation":"Neutral", "overall_tone": "Tone should be fun and light", "samples": "http://www.myexample.com/my/document/path/to/samples.pdf"}' \
--access_token <token>import requests
url = "https://api.phrase.com/v2/projects/{project_id}/styleguides"
payload = {
"title": "Web application style guide",
"audience": "customer-facing",
"target_audience": "teenager",
"grammatical_person": "first_person_singular",
"vocabulary_type": "technical",
"business": "We are a travel site that helps customers find the best hotels and flights.",
"company_branding": "ACME Inc. should never be translated.",
"formatting": "Never use capital letters",
"glossary_terms": "Apartment, cabin, loft",
"grammar_consistency": "",
"literal_translation": "Neutral",
"overall_tone": "Tone should be fun and light",
"samples": "http://www.myexample.com/my/document/path/to/samples.pdf"
}
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({
title: 'Web application style guide',
audience: 'customer-facing',
target_audience: 'teenager',
grammatical_person: 'first_person_singular',
vocabulary_type: 'technical',
business: 'We are a travel site that helps customers find the best hotels and flights.',
company_branding: 'ACME Inc. should never be translated.',
formatting: 'Never use capital letters',
glossary_terms: 'Apartment, cabin, loft',
grammar_consistency: '',
literal_translation: 'Neutral',
overall_tone: 'Tone should be fun and light',
samples: 'http://www.myexample.com/my/document/path/to/samples.pdf'
})
};
fetch('https://api.phrase.com/v2/projects/{project_id}/styleguides', 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/projects/{project_id}/styleguides",
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([
'title' => 'Web application style guide',
'audience' => 'customer-facing',
'target_audience' => 'teenager',
'grammatical_person' => 'first_person_singular',
'vocabulary_type' => 'technical',
'business' => 'We are a travel site that helps customers find the best hotels and flights.',
'company_branding' => 'ACME Inc. should never be translated.',
'formatting' => 'Never use capital letters',
'glossary_terms' => 'Apartment, cabin, loft',
'grammar_consistency' => '',
'literal_translation' => 'Neutral',
'overall_tone' => 'Tone should be fun and light',
'samples' => 'http://www.myexample.com/my/document/path/to/samples.pdf'
]),
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/projects/{project_id}/styleguides"
payload := strings.NewReader("{\n \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\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/projects/{project_id}/styleguides")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phrase.com/v2/projects/{project_id}/styleguides")
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 \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\n}"
response = http.request(request)
puts response.read_body{
"id": "abcd1234cdef1234abcd1234cdef1234",
"title": "My Style Guide",
"created_at": "2015-01-28T09:52:53Z",
"updated_at": "2015-01-28T09:52:53Z",
"public_url": "https://phrase.com/styleguide/my-project/26f065cf597be340",
"audience": "customer-facing",
"target_audience": "teenager",
"grammatical_person": "first_person_singular",
"vocabulary_type": "technical",
"business": "We are a travel site that helps customers find the best hotels and flights.",
"company_branding": "ACME Inc. should never be translated.",
"formatting": "Never use capital letters",
"glossary_terms": "Apartment, cabin, loft",
"grammar_consistency": "",
"literal_translation": "Neutral",
"overall_tone": "Tone should be fun and light",
"samples": "http://www.myexample.com/my/document/path/to/samples.pdf"
}{
"message": "Validation Failed",
"errors": [
{
"resource": "Resource",
"field": "name",
"message": "can't be blank"
}
]
}Create a style guide
Create a new style guide.
curl "https://api.phrase.com/v2/projects/:project_id/styleguides" \
-u USERNAME_OR_ACCESS_TOKEN \
-X POST \
-d '{"title":"Web application style guide","audience":"customer-facing","target_audience":"teenager","grammatical_person":"first_person_singular","vocabulary_type":"technical","business":"We are a travel site that helps customers find the best hotels and flights.","company_branding":"ACME Inc. should never be translated.","formatting":"Never use capital letters","glossary_terms":"Apartment, cabin, loft","grammar_consistency":","literal_translation":"Neutral","overall_tone":"Tone should be fun and light","samples":"http://www.myexample.com/my/document/path/to/samples.pdf"}' \
-H 'Content-Type: application/json'phrase styleguides create \
--project_id <project_id> \
--data '{"title": "Web application style guide", "audience":"customer-facing", "target_audience":"teenager", "grammatical_person":"first_person_singular", "vocabulary_type":"technical", "business": "We are a travel site that helps customers find the best hotels and flights.", "company_branding": "ACME Inc. should never be translated.", "formatting": "Never use capital letters", "glossary_terms": "Apartment, cabin, loft", "grammar_consistency":", "literal_translation":"Neutral", "overall_tone": "Tone should be fun and light", "samples": "http://www.myexample.com/my/document/path/to/samples.pdf"}' \
--access_token <token>import requests
url = "https://api.phrase.com/v2/projects/{project_id}/styleguides"
payload = {
"title": "Web application style guide",
"audience": "customer-facing",
"target_audience": "teenager",
"grammatical_person": "first_person_singular",
"vocabulary_type": "technical",
"business": "We are a travel site that helps customers find the best hotels and flights.",
"company_branding": "ACME Inc. should never be translated.",
"formatting": "Never use capital letters",
"glossary_terms": "Apartment, cabin, loft",
"grammar_consistency": "",
"literal_translation": "Neutral",
"overall_tone": "Tone should be fun and light",
"samples": "http://www.myexample.com/my/document/path/to/samples.pdf"
}
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({
title: 'Web application style guide',
audience: 'customer-facing',
target_audience: 'teenager',
grammatical_person: 'first_person_singular',
vocabulary_type: 'technical',
business: 'We are a travel site that helps customers find the best hotels and flights.',
company_branding: 'ACME Inc. should never be translated.',
formatting: 'Never use capital letters',
glossary_terms: 'Apartment, cabin, loft',
grammar_consistency: '',
literal_translation: 'Neutral',
overall_tone: 'Tone should be fun and light',
samples: 'http://www.myexample.com/my/document/path/to/samples.pdf'
})
};
fetch('https://api.phrase.com/v2/projects/{project_id}/styleguides', 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/projects/{project_id}/styleguides",
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([
'title' => 'Web application style guide',
'audience' => 'customer-facing',
'target_audience' => 'teenager',
'grammatical_person' => 'first_person_singular',
'vocabulary_type' => 'technical',
'business' => 'We are a travel site that helps customers find the best hotels and flights.',
'company_branding' => 'ACME Inc. should never be translated.',
'formatting' => 'Never use capital letters',
'glossary_terms' => 'Apartment, cabin, loft',
'grammar_consistency' => '',
'literal_translation' => 'Neutral',
'overall_tone' => 'Tone should be fun and light',
'samples' => 'http://www.myexample.com/my/document/path/to/samples.pdf'
]),
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/projects/{project_id}/styleguides"
payload := strings.NewReader("{\n \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\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/projects/{project_id}/styleguides")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phrase.com/v2/projects/{project_id}/styleguides")
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 \"title\": \"Web application style guide\",\n \"audience\": \"customer-facing\",\n \"target_audience\": \"teenager\",\n \"grammatical_person\": \"first_person_singular\",\n \"vocabulary_type\": \"technical\",\n \"business\": \"We are a travel site that helps customers find the best hotels and flights.\",\n \"company_branding\": \"ACME Inc. should never be translated.\",\n \"formatting\": \"Never use capital letters\",\n \"glossary_terms\": \"Apartment, cabin, loft\",\n \"grammar_consistency\": \"\",\n \"literal_translation\": \"Neutral\",\n \"overall_tone\": \"Tone should be fun and light\",\n \"samples\": \"http://www.myexample.com/my/document/path/to/samples.pdf\"\n}"
response = http.request(request)
puts response.read_body{
"id": "abcd1234cdef1234abcd1234cdef1234",
"title": "My Style Guide",
"created_at": "2015-01-28T09:52:53Z",
"updated_at": "2015-01-28T09:52:53Z",
"public_url": "https://phrase.com/styleguide/my-project/26f065cf597be340",
"audience": "customer-facing",
"target_audience": "teenager",
"grammatical_person": "first_person_singular",
"vocabulary_type": "technical",
"business": "We are a travel site that helps customers find the best hotels and flights.",
"company_branding": "ACME Inc. should never be translated.",
"formatting": "Never use capital letters",
"glossary_terms": "Apartment, cabin, loft",
"grammar_consistency": "",
"literal_translation": "Neutral",
"overall_tone": "Tone should be fun and light",
"samples": "http://www.myexample.com/my/document/path/to/samples.pdf"
}{
"message": "Validation Failed",
"errors": [
{
"resource": "Resource",
"field": "name",
"message": "can't be blank"
}
]
}Authorizations
Enter your token in the format token TOKEN
Headers
Two-Factor-Authentication token (optional)
Path Parameters
Project ID
Body
Style guide title
"Web application style guide"
Audience description
"customer-facing"
Target audience for the translations.
not_specified, children, teenager, young_adults, adults, old_adults "teenager"
Preferred grammatical person.
not_specified, first_person_singular, second_person_singular, third_person_singular_masculine, third_person_singular_feminine, third_person_singular_neuter, first_person_plural, second_person_plural, third_person_plural "first_person_singular"
Vocabulary register the translations should use.
not_specified, popular, technical, fictional "technical"
Description of the business
"We are a travel site that helps customers find the best hotels and flights."
Company branding to remain consistent.
"ACME Inc. should never be translated."
Formatting requirements and character limitations.
"Never use capital letters"
List of terms and/or phrases that need to be translated consistently.
"Apartment, cabin, loft"
Formal or informal pronouns, consistent conjugation, grammatical gender
""
Can be one of: Cultural/Conversational, Literal, Neutral.
"Neutral"
Tone requirement descriptions
"Tone should be fun and light"
Provide links to sample product pages, FAQ pages, etc. to give the translator a point of reference. You can also provide past translations. Even snippets or short paragraphs are helpful for maintaining consistency.
"http://www.myexample.com/my/document/path/to/samples.pdf"
Response
Created
Was this page helpful?