Paligo API

This documentation describes how to interact with the Paligo REST API.

The base URL for the Paligo API is https://example.paligoapp.com/api/v2. With "example" being your Paligo instance name.

Minor, non-breaking changes will be made in minor updates. Breaking changes will only be made in major updates to the API, and will be detailed in advance. You can request changes or give feedback about the API in the Developer Hub.

If you have any issues working with the Paligo API, please reach out to Paligo Support.

The Paligo API is a JSON API and endpoints will always return a JSON response, no matter the success of the request. The only exception is endpoints that return files.

Authentication

Each request to the API must be authorized with a Paligo username and a Paligo API key. The Paligo user must be an admin user. You can find out how to create an API key by following our guide at: API Keys.

The Paligo API uses Basic Authentication for verifying a users access. The credentials must be sent in an Authorization header in the HTTP request. Credentials sent in the URL or body of the request will be ignored.

To authenticate using Basic Authentication:

  1. Combine your username and API key with a colon:

    name@example.com:13DLKWD34234...

  2. Encode the string using Base64:

    bmFtZUBleGFtcGxlLmNvbToxM0RMS1dEMzQyMzQuLi4=

  3. Include the string in the HTTP Authorization header formatted like this:

    Authorization: Basic bmFtZUBleGFtcGxlLmNvbToxM0RMS1dEMzQyMzQuLi4=

Rate limiting

The Paligo API is enforces rate limiting. This means that only a certain number of requests are allowed per minute depending on your plan and the endpoint. Paligo reserves the right to adjust the rate limits at any time to provide a high quality of service for all clients. If a client repeatedly exceeds the rate limits, or engages in behavior that is deemed to be suspicious - Paligo reserves the right to temporarily or permanently suspend the API key of the requests.

When a client exceeds the rate limit for, the Paligo API will return a Retry-After header, which contains the time in seconds that the client needs to wait before sending another request.

The following tables describes the current rate limits:

Table 1. Rate limits - Business plan

Endpoint

Method

Requests per minute

Documents

Show/List

50

Documents

Update

10

Folders

Show/List

50

Folders

Update

10

Forks

Show/List

50

Forks

Create

20

Forks

Delete

20

Images

Update

10

Images

Create

10

Imports

Show/List

50

Imports

Create

1

Outputs

Show

10

Productions

Show/List

50

Productions

Create

1

Publish settings

Show/List

50

Taxonomies

Show/List

50

Taxonomies

Create

10

Taxonomies

Update

10

Translation imports

Show/List

50

Translation imports

Create

1

Translation exports

Show/List

50

Translation exports

Create

1

Variable sets

Show/List

50

Variable sets

Create

10

Variable sets

Update

10

Variable sets

Delete

10

Variants

Show/List

50

Variants

Create

10

Variants

Update

10

Variants

Delete

10

Variables

Show/List

50

Variables

Create

10

Variables

Update

10

Variables

Delete

10

Variable values

Show/List

50

Variable values

Create

10

Variable values

Update

10

Variable values

Delete

10



Table 2. Rate limits - Enterprise plan

Endpoint

Method

Requests per minute

Documents

Show/List

250

Documents

Update

20

Folders

Show/List

250

Folders

Update

100

Forks

Show/List

250

Forks

Create

100

Forks

Delete

100

Images

Create

20

Imports

Show/List

250

Imports

Create

1

Outputs

Show

10

Productions

Show/List

250

Productions

Create

10

Publish settings

Show/List

250

Taxonomies

Show/List

250

Taxonomies

Create

100

Taxonomies

Update

100

Translation imports

Show/List

250

Translation imports

Create

10

Translation exports

Show/List

250

Translation exports

Create

10

Variable sets

Show/List

200

Variable sets

Create

20

Variable sets

Update

20

Variable sets

Delete

20

Variants

Show/List

200

Variants

Create

20

Variants

Update

20

Variants

Delete

20

Variables

Show/List

200

Variables

Create

20

Variables

Update

20

Variables

Delete

20

Variable values

Show/List

200

Variable values

Create

20

Variable values

Update

20

Variable values

Delete

20



Fair use

The user is expected to interact with the Paligo API using the functionality described in this document. We reserve the right to temporarily suspend API access, or perform any other actions we deem to be necessary, if a user interacts with the Paligo API or Paligo web application in ways that are not described in this document or that we judge to be harmful. Including, but not limited to: repeatedly exceeding rate limits or scripting calls to endpoints not described in this document.

Users that are suspected of violating the above will be contacted through their assigned CSM or Paligo support.

Pagination

All endpoints that return results in the form of lists provide the ability to paginate through the results. Here is an example of a paginated list response:

Where page describes the current page, next_page contains the URL to get more results, total_pages is the total number of pages for all results, and resources is the requested resource.

To request the next page, you could either manually include the page parameter in the request, or use the next_page URL.

The amount of results listed per page can be controlled using the per_page query parameter.

{
    "page": 1,
    "next_page": "https://example.paligoapp.com/api/v2/resource?page=2",
    "total_pages": 3,
    "resources": [...]
}

document

Paligo has two types of documents: Publications and Topics.

Create document

Body parameter

{
  "parent": 34,
  "name": "My topic",
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ],
  "content": "<?xml>...",
  "subtype": "component"
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Document

Parameters

Name

In

Type

Required

Description

body

body

any

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/documents/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/documents/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "parent": 34,
  "name": "My topic",
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ],
  "content": "<?xml>...",
  "subtype": "component"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/documents/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/documents/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/documents/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My topic",
  "uuid": "UUID-1234-5678",
  "type": "document",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "modified_at": 1603622378,
  "checkout": "false",
  "checkout_user": "2",
  "parent_resource": 456,
  "taxonomies": [
    {
      "id": 603,
      "title": "My taxonomy",
      "color": 3
    }
  ],
  "content": "<?xml>...",
  "languages": [
    "en",
    "jp",
    "sv"
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

List documents

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

name

query

string

false

The name of the document.

parent

query

integer

false

The ID of the document’s parent resource.

created_start_at

query

integer

false

A unix timestamp used to search for documents created after a certain date.

created_end_at

query

integer

false

A unix timestamp used to search for documents created before a certain date.

modified_start_at

query

integer

false

A unix timestamp used to search for documents modified after a certain date.

modified_end_at

query

integer

false

A unix timestamp used to search for documents created before a certain date.

creator

query

string

false

The ID of the user that created the document.

owner

query

string

false

The ID of the user that owns the document.

author

query

string

false

The ID of the user that created the document.

checkout

query

boolean

false

The checkout status of the document.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Document]

false

none

none

» id

integer

false

none

The ID of the document.

» name

string

false

none

The name of the document.

» uuid

string

false

none

The UUID of the document

» type

string

false

none

The resource type.

» creator

integer

false

none

The ID of the user that created the document.

» owner

integer

false

none

The ID of the user that owns the document.

» author

integer

false

none

The ID of the user that created the document.

» created_at

integer

false

none

The document creation time (as a unix timestamp).

» modified_at

integer

false

none

The document modification time (as a unix timestamp).

» checkout

boolean

false

none

The checkout status of the document.

» checkout_user

integer

false

none

User that has checked out document

» parent_resource

integer

false

none

The ID of the document’s parent resource.

» taxonomies

[Taxonomy]

false

none

The document’s taxonomies.

»» id

integer

false

none

The ID of the taxonomy.

»» title

string

false

none

The title of the taxonomy.

»» color

integer

false

none

The color of the taxonomy.

»» parent

integer

false

none

The ID of this taxonomy parent.

» content

string

false

none

Document XML content. Only returned when requesting a single document.

» languages

[string]

false

none

A list of all the documents translations.

» custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

»» name

string

false

none

The name of the attribute.

»» value

string

false

none

The value of the attribute.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/documents", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/documents");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/documents',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/documents', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/documents',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "name": "My topic",
    "uuid": "UUID-1234-5678",
    "type": "document",
    "creator": "2",
    "owner": "2",
    "author": "2",
    "created_at": 1603622378,
    "modified_at": 1603622378,
    "checkout": "false",
    "checkout_user": "2",
    "parent_resource": 456,
    "taxonomies": [
      {}
    ],
    "content": "<?xml>...",
    "languages": [
      "en",
      "jp",
      "sv"
    ],
    "custom_attributes": [
      {}
    ]
  }
]

Show document

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Document

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the document.

name

query

string

false

The name of the document.

parent

query

integer

false

The ID of the document’s parent resource.

created_start_at

query

integer

false

A unix timestamp used to search for documents created after a certain date.

created_end_at

query

integer

false

A unix timestamp used to search for documents created before a certain date.

modified_start_at

query

integer

false

A unix timestamp used to search for documents modified after a certain date.

modified_end_at

query

integer

false

A unix timestamp used to search for documents created before a certain date.

creator

query

string

false

The ID of the user that created the document.

owner

query

string

false

The ID of the user that owns the document.

author

query

string

false

The ID of the user that created the document.

checkout

query

boolean

false

The checkout status of the document.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/documents/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/documents/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/documents/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/documents/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/documents/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My topic",
  "uuid": "UUID-1234-5678",
  "type": "document",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "modified_at": 1603622378,
  "checkout": "false",
  "checkout_user": "2",
  "parent_resource": 456,
  "taxonomies": [
    {
      "id": 603,
      "title": "My taxonomy",
      "color": 3
    }
  ],
  "content": "<?xml>...",
  "languages": [
    "en",
    "jp",
    "sv"
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

Update document

Body parameter

{
  "name": "My topic",
  "content": "<?xml>...",
  "checkout": "false",
  "taxonomies": [
    603,
    304
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Document

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the document.

body

body

DocumentRequestPutPayload

false

none

» name

body

string

false

The name of the document.

» content

body

string

false

The document XML content.

» checkout

body

boolean

false

Force checkout document.

» taxonomies

body

[number]

false

The document’s taxonomies.

» custom_attributes

body

[CustomAttribute]

false

A list of custom attributes on the document.

»» name

body

string

false

The name of the attribute.

»» value

body

string

false

The value of the attribute.

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/documents/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/documents/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "name": "My topic",
  "content": "<?xml>...",
  "checkout": "false",
  "taxonomies": [
    603,
    304
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/documents/{id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/documents/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/documents/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My topic",
  "uuid": "UUID-1234-5678",
  "type": "document",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "modified_at": 1603622378,
  "checkout": "false",
  "checkout_user": "2",
  "parent_resource": 456,
  "taxonomies": [
    {
      "id": 603,
      "title": "My taxonomy",
      "color": 3
    }
  ],
  "content": "<?xml>...",
  "languages": [
    "en",
    "jp",
    "sv"
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

Delete document

Responses

Status

Meaning

Description

Schema

204

No Content

Successful response.

None

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the document.

Response Headers

Status

Header

Type

Format

Description

204

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/documents/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/documents/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/documents/{id}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/documents/{id}')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/documents/{id}',
  params: {
  }

p JSON.parse(result)

fork

Forks are representations of components inside document structures. They are similar to the concept of symbolic links, in computing.

List forks

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

parent

query

integer

false

The ID of the forks parent. This could either be a fork ID or a document ID.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Fork]

false

none

none

» id

integer

false

none

The ID of the fork.

» uuid

string

false

none

The UUID of the fork.

» parent

integer

false

none

The parent of the fork. Either a fork or a document depending on the fork depth.

» root_document

integer

false

none

The root document of the fork.

» position

integer

false

none

The position of the fork.

» depth

integer

false

none

The depth of the fork.

» document

Document

false

none

none

»» id

integer

false

none

The ID of the document.

»» name

string

false

none

The name of the document.

»» uuid

string

false

none

The UUID of the document

»» type

string

false

none

The resource type.

»» creator

integer

false

none

The ID of the user that created the document.

»» owner

integer

false

none

The ID of the user that owns the document.

»» author

integer

false

none

The ID of the user that created the document.

»» created_at

integer

false

none

The document creation time (as a unix timestamp).

»» modified_at

integer

false

none

The document modification time (as a unix timestamp).

»» checkout

boolean

false

none

The checkout status of the document.

»» checkout_user

integer

false

none

User that has checked out document

»» parent_resource

integer

false

none

The ID of the document’s parent resource.

»» taxonomies

[Taxonomy]

false

none

The document’s taxonomies.

»»» id

integer

false

none

The ID of the taxonomy.

»»» title

string

false

none

The title of the taxonomy.

»»» color

integer

false

none

The color of the taxonomy.

»»» parent

integer

false

none

The ID of this taxonomy parent.

»» content

string

false

none

Document XML content. Only returned when requesting a single document.

»» languages

[string]

false

none

A list of all the documents translations.

»» custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

»»» name

string

false

none

The name of the attribute.

»»» value

string

false

none

The value of the attribute.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/forks", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/forks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/forks',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/forks', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/forks',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 8493,
    "uuid": "UUID-1232-1454",
    "parent": 3919,
    "root_document": 3901,
    "position": 7,
    "depth": 4,
    "document": {
      "id": 123,
      "name": "My topic",
      "uuid": "UUID-1234-5678",
      "type": "document",
      "creator": "2",
      "owner": "2",
      "author": "2",
      "created_at": 1603622378,
      "modified_at": 1603622378,
      "checkout": "false",
      "checkout_user": "2",
      "parent_resource": 456,
      "taxonomies": [],
      "content": "<?xml>...",
      "languages": [],
      "custom_attributes": []
    }
  }
]

Show fork

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the fork.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Fork]

false

none

none

» id

integer

false

none

The ID of the fork.

» uuid

string

false

none

The UUID of the fork.

» parent

integer

false

none

The parent of the fork. Either a fork or a document depending on the fork depth.

» root_document

integer

false

none

The root document of the fork.

» position

integer

false

none

The position of the fork.

» depth

integer

false

none

The depth of the fork.

» document

Document

false

none

none

»» id

integer

false

none

The ID of the document.

»» name

string

false

none

The name of the document.

»» uuid

string

false

none

The UUID of the document

»» type

string

false

none

The resource type.

»» creator

integer

false

none

The ID of the user that created the document.

»» owner

integer

false

none

The ID of the user that owns the document.

»» author

integer

false

none

The ID of the user that created the document.

»» created_at

integer

false

none

The document creation time (as a unix timestamp).

»» modified_at

integer

false

none

The document modification time (as a unix timestamp).

»» checkout

boolean

false

none

The checkout status of the document.

»» checkout_user

integer

false

none

User that has checked out document

»» parent_resource

integer

false

none

The ID of the document’s parent resource.

»» taxonomies

[Taxonomy]

false

none

The document’s taxonomies.

»»» id

integer

false

none

The ID of the taxonomy.

»»» title

string

false

none

The title of the taxonomy.

»»» color

integer

false

none

The color of the taxonomy.

»»» parent

integer

false

none

The ID of this taxonomy parent.

»» content

string

false

none

Document XML content. Only returned when requesting a single document.

»» languages

[string]

false

none

A list of all the documents translations.

»» custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

»»» name

string

false

none

The name of the attribute.

»»» value

string

false

none

The value of the attribute.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/forks/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/forks/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/forks/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/forks/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/forks/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 8493,
    "uuid": "UUID-1232-1454",
    "parent": 3919,
    "root_document": 3901,
    "position": 7,
    "depth": 4,
    "document": {
      "id": 123,
      "name": "My topic",
      "uuid": "UUID-1234-5678",
      "type": "document",
      "creator": "2",
      "owner": "2",
      "author": "2",
      "created_at": 1603622378,
      "modified_at": 1603622378,
      "checkout": "false",
      "checkout_user": "2",
      "parent_resource": 456,
      "taxonomies": [],
      "content": "<?xml>...",
      "languages": [],
      "custom_attributes": []
    }
  }
]

Delete fork

Responses

Status

Meaning

Description

Schema

204

No Content

Successful response.

None

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the fork.

Response Headers

Status

Header

Type

Format

Description

204

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/forks/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/forks/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/forks/{id}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/forks/{id}')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/forks/{id}',
  params: {
  }

p JSON.parse(result)

Create fork

Body parameter

{
  "parent": 5421,
  "document": 3981,
  "position": null
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Fork

Parameters

Name

In

Type

Required

Description

body

body

ForkRequestPostPayload

false

none

» parent

body

integer

true

The ID of the parent fork or document.

» document

body

integer

true

The ID of the document represented by the fork.

» position

body

any

false

The position of the fork inside the parent. If not provided, the fork will automatically be placed after all siblings. If placed in the middle of a structure, subsequent forks will be moved one step down to accomodate the new fork.

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/forks/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/forks/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "parent": 5421,
  "document": 3981,
  "position": null
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/forks/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/forks/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/forks/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 8493,
  "uuid": "UUID-1232-1454",
  "parent": 3919,
  "root_document": 3901,
  "position": 7,
  "depth": 4,
  "document": {
    "id": 123,
    "name": "My topic",
    "uuid": "UUID-1234-5678",
    "type": "document",
    "creator": "2",
    "owner": "2",
    "author": "2",
    "created_at": 1603622378,
    "modified_at": 1603622378,
    "checkout": "false",
    "checkout_user": "2",
    "parent_resource": 456,
    "taxonomies": [
      {}
    ],
    "content": "<?xml>...",
    "languages": [
      "en",
      "jp",
      "sv"
    ],
    "custom_attributes": [
      {}
    ]
  }
}

folder

All resources in Paligo our stored in folders.

List folders

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

parent

query

integer

false

The ID of the folders’s parent folder.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Folder]

false

none

none

» id

integer

false

none

The ID of the folder.

» name

string

false

none

The name of the folder.

» uuid

string

false

none

The UUID of the folder.

» type

string

false

none

The resource type.

» children

[Folder]

false

none

The folder’s child folders.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/folders", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/folders");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/folders',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/folders', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/folders',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "name": "My folder",
    "uuid": "UUID-1234-5678",
    "type": "folder",
    "children": [
      {}
    ]
  }
]

Show folder

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Folder

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the folder.

parent

query

integer

false

The ID of the folders’s parent folder.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/folders/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/folders/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/folders/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/folders/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/folders/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My folder",
  "uuid": "UUID-1234-5678",
  "type": "folder",
  "children": [
    {
      "id": "456",
      "name": "My subfolder",
      "uuid": "UUID-5678-1234",
      "type": "folder"
    }
  ]
}

Create folder

Body parameter

{
  "title": "My folder",
  "parent": 123
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Folder

Parameters

Name

In

Type

Required

Description

body

body

FolderRequestPostPayload

false

none

» title

body

string

false

The title of the folder.

» parent

body

string

false

The ID of the parent folder.

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/folders/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/folders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "My folder",
  "parent": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/folders/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/folders/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/folders/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My folder",
  "uuid": "UUID-1234-5678",
  "type": "folder",
  "children": [
    {
      "id": "456",
      "name": "My subfolder",
      "uuid": "UUID-5678-1234",
      "type": "folder"
    }
  ]
}

image

Images used in Paligo content.

List images

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

name

query

string

false

The name of the image.

parent

query

integer

false

The ID of the image’s parent resource.

size

query

string

false

The size of the image.

variant

query

string

false

The variant of the image.

download

query

boolean

false

Set this to true to download the image file instead of getting image info.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Image]

false

none

none

» id

integer

false

none

The ID of the image.

» name

string

false

none

The name of the image.

» uuid

string

false

none

The UUID of the image.

» creator

integer

false

none

The ID of the user that created the document.

» owner

integer

false

none

The ID of the user that owns the document.

» author

integer

false

none

The ID of the user that created the document.

» created_at

integer

false

none

The document creation time (as a unix timestamp).

» content_url

string

false

none

A URL where the image can be downloaded.

» type

string

false

none

The resource type.

» description

string

false

none

The description of the image.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/images", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/images");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/images',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/images', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/images',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "name": "Image 1",
    "uuid": "UUID-1234-5678",
    "creator": "2",
    "owner": "2",
    "author": "2",
    "created_at": 1603622378,
    "content_url": "https://example.paligoapp.com/file-name.jpg",
    "type": "image",
    "description": "Description of the image"
  }
]

Show image

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Image

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the image.

name

query

string

false

The name of the image.

parent

query

integer

false

The ID of the image’s parent resource.

size

query

string

false

The size of the image.

variant

query

string

false

The variant of the image.

download

query

boolean

false

Set this to true to download the image file instead of getting image info.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/images/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/images/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/images/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/images/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/images/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "Image 1",
  "uuid": "UUID-1234-5678",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "content_url": "https://example.paligoapp.com/file-name.jpg",
  "type": "image",
  "description": "Description of the image"
}

Update image

Body parameter

image: null
variant: de
trim: "true"
size: lpr

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Image

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the image.

body

body

ImageRequestPutPayload

false

none

» image

body

any

false

The image file.

» variant

body

string

false

The image variant.

» trim

body

boolean

false

Removes whitespace for PDF files.

» size

body

string

false

The image size.

Enumerated Values

Parameter

Value

» size

pre

» size

scr

» size

lpr

» size

hpr

» size

icn

» size

spr

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/images/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/images/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "image": null,
  "variant": "de",
  "trim": "true",
  "size": "lpr"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/images/{id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/images/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/images/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)

Create image

Body parameter

image: null
variant: de
trim: "true"
parent: 123
size: lpr

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Image

Parameters

Name

In

Type

Required

Description

body

body

ImageRequestPostPayload

false

none

» image

body

any

false

The image file.

» variant

body

string

false

The image variant.

» trim

body

boolean

false

Removes whitespace for PDF files.

» parent

body

boolean

false

The ID of the parent folder.

» size

body

string

false

The image size.

Enumerated Values

Parameter

Value

» size

pre

» size

scr

» size

lpr

» size

hpr

» size

icn

» size

spr

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/images/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/images/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "image": null,
  "variant": "de",
  "trim": "true",
  "parent": 123,
  "size": "lpr"
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/images/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/images/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/images/',
  params: {
  }, headers: headers

p JSON.parse(result)

search (beta)

This endpoint allows you to search your Paligo content & resources.

Beta status

This is in beta because there are some resources and properties that are still missing support. We will be adding support for these properties over time, and if there's any property or search query that is not yet supported that you need, feel free to reach out to Paligo support.

You can expect all properties on a supported resource to searchable and fully functional, unless otherwise specified below.

Supported target resources

It's currently possible to search the following resource types.

  • Documents

  • Taxonomies

  • Forks

Unsupported properties

The following properties are as of now missing support. This means that it's not possible to perform searches that compare these values yet.

  • Documents

    • subtype

    • owner

    • creator

    • checkout

    • checkout_user

    • external

  • Forks

    • position

    • depth

  • Taxonomies

    • color

Search operators

Each search request must include the target resource, like 'documents' or 'forks'. In addition to this, you can include optional search parameters to filter the results. The main part of the search parameter is the operator.

The operators describe what kind of comparison is to be done. It could be a simple string comparison, a comparison of dates, or checking if a list contains a certain value.

The following operators are currently supported:

  • equals

    The equals operator can be used to compare the value of a certain property with a given value.

  • has

    The has operator can be used to check if a property contains a given value.

  • before

    The after operator can be used to check if a time property occurs before a given unix timestamp value.

  • after

    The before operator can be used to check if a time property occurs after a given unix timestamp value.

  • between

    The between operator can be used to check if a time property occurs between two given unix timestamps.

  • containsblockelement

    The containsblockelement operator can be used to check if a documents content contains a certain block element.

Search Paligo content & resources

Body parameter

{
  "resource": "documents",
  "per_page": 7,
  "page": 3,
  "where": [
    {
      "operator": "has",
      "property": "languages",
      "value": "en"
    }
  ]
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Search

Parameters

Name

In

Type

Required

Description

body

body

SearchRequestPostPayload

false

none

» resource

body

string

true

The target resource.

» per_page

body

integer

false

Items to return per page.

» page

body

integer

false

The result page.

» where

body

[anyOf]

false

Array of search parameters.

»» anonymous

body

SearchRequestWhereHas

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The property to run the comparison on.

»»» value

body

string

false

The value to compare against. Used when comparing against a single value.

»»» values

body

[string]

false

The values to compare against. Used when comparing against multiple values.

»» anonymous

body

SearchRequestWhereEquals

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The property to run the comparison on.

»»» value

body

string

true

The value to compare against.

»» anonymous

body

SearchRequestWhereAfter

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The date property to perform the comparison on.

»»» value

body

string

true

The Unix timestamp to compare against.

»» anonymous

body

SearchRequestWhereBefore

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The date property to perform the comparison on.

»»» value

body

string

true

The Unix timestamp to compare against.

»» anonymous

body

SearchRequestWhereBetween

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The date property to perform the comparison on.

»»» start

body

string

true

The starting Unix timestamp.

»»» end

body

string

true

The ending Unix timestamp.

»» anonymous

body

SearchRequestWhereContainsBlockElement

false

none

»»» operator

body

string

true

The search operator.

»»» property

body

string

true

The property to perform the XML search query on.

»»» value

body

string

true

The target block element.

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/search/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/search/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "resource": "documents",
  "per_page": 7,
  "page": 3,
  "where": [
    {
      "operator": "has",
      "property": "languages",
      "value": "en"
    }
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/search/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/search/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/search/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "page": 7,
  "total_pages": 130,
  "per_page": 1,
  "items": [
    {
      "id": 123,
      "name": "My topic",
      "uuid": "UUID-1234-5678",
      "type": "document",
      "creator": "2",
      "owner": "2",
      "author": "2",
      "created_at": 1603622378,
      "modified_at": 1603622378,
      "checkout": "false",
      "checkout_user": "2",
      "parent_resource": 456,
      "taxonomies": [],
      "content": "<?xml>...",
      "languages": [],
      "custom_attributes": []
    }
  ]
}

import

Paligo lets you easily import existing content in a number of formats.

List imports

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

user

query

string

false

The user that started the import.

status

query

string

false

The status of the import.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Import]

false

none

none

» id

integer

false

none

The ID of the import process.

» status

string

false

none

The status of the import.

» message

string

false

none

A message describing the current step the import is on.

» steps

object

false

none

An object describing the progress of the import.

»» total

integer

false

none

Total number of steps.

»» count

integer

false

none

Current step.

» user

integer

false

none

The user that started the import.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/imports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/imports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/imports/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/imports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/imports/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": "123",
    "status": "running",
    "message": "Importing 1 component out of 23.",
    "steps": {
      "total": "20",
      "count": "3"
    },
    "user": 2
  }
]

Create import

Body parameter

archive: string
parent: 123
type: openapi
match_components: "false"
generate_hazard: "false"
ignore_warnings: "false"
zendesk_category: "123"
openapi_languages:
  - javascript
  - php
openapi_maxdepth: 3
title_prefix: "123"
folder_numbering: "true"
folder_levels: 123
use_varset_id: 123

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Import

Parameters

Name

In

Type

Required

Description

body

body

ImportRequestPostPayload

false

none

» archive

body

string(binary)

false

The archive file to import.

» parent

body

integer

false

The ID of the target folder to import content into.

» type

body

string

false

The import type.

» match_components

body

boolean

false

When importing content the system can try to match content to already existing content. Check this option if you want Paligo to perform such a matching.

» generate_hazard

body

boolean

false

When selected, admonitions (notes, warnings, etc) will be imported as separate components. These are then reused in the parent component.

» ignore_warnings

body

boolean

false

When selected, warning messages about uploaded XML are ignored. Only use this if there are issues.

» zendesk_category

body

string

false

The Zendesk category if importing from Zendesk.

» openapi_languages

body

[string]

false

Snippet languages to generate when importing OpenAPI.

» openapi_maxdepth

body

integer

false

The maximum depth to show for schema examples when importing OpenAPI.

» title_prefix

body

string

false

Prefix that will be prepended as-is to all topic titles.

» folder_numbering

body

boolean

false

Automatic numbering of folders - similar to numbering in a TOC.

» folder_levels

body

integer

false

Max number of nested folders to create when importing content.

» use_varset_id

body

integer

false

When set, the import will try to match variables with existing ones.

Enumerated Values

Parameter

Value

» type

paligo

» type

db5

» type

db4

» type

xhtml

» type

confluence

» type

dita

» type

flare

» type

helpandmanual

» type

docx

» type

authorit

» type

zendesk

» type

openapi

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/imports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/imports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "archive": "string",
  "parent": 123,
  "type": "openapi",
  "match_components": "false",
  "generate_hazard": "false",
  "ignore_warnings": "false",
  "zendesk_category": "123",
  "openapi_languages": [
    "javascript",
    "php"
  ],
  "openapi_maxdepth": 3,
  "title_prefix": "123",
  "folder_numbering": "true",
  "folder_levels": 123,
  "use_varset_id": 123
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/imports/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/imports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/imports/',
  params: {
  }, headers: headers

p JSON.parse(result)

Show import

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Import

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the import.

user

query

string

false

The user that started the import.

status

query

string

false

The status of the import.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/imports/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/imports/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/imports/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/imports/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/imports/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "123",
  "status": "running",
  "message": "Importing 1 component out of 23.",
  "steps": {
    "total": "20",
    "count": "3"
  },
  "user": 2
}

output

This endpoint is used to retrieve outputs published by Paligo. Commonly used in connection with the Productions endpoint.

Get output

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

string

Parameters

Name

In

Type

Required

Description

name

path

string

true

The name of the output. This is provided by the Productions endpoint when a production completes

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/zip"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/outputs/{name}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/outputs/{name}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/zip'
};

fetch('https://{instance}.paligoapp.com/api/v2/outputs/{name}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/zip'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/outputs/{name}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/zip'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/outputs/{name}',
  params: {
  }, headers: headers

p JSON.parse(result)

production

Productions are used to Publish outputs of Paligo content. Productions can be started through this endpoint using a Saved Publish Setting.

List productions

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Production]

false

none

none

» id

integer

false

none

The ID of the production.

» document_name

string

false

none

The name of the document being published.

» document_id

integer

false

none

The ID of the document being published.

» format

string

false

none

The output format.

» status

string

false

none

The status of the production.

» url

string

false

none

The URL of the output (available once the production has finished).

» message

string

false

none

A message describing the current step the production is on.

» steps

object

false

none

An object describing the progress of the production.

»» total

integer

false

none

Total number of steps.

»» count

integer

false

none

Current step.

» log_url

string

false

none

The production log for the output.

» started_at

integer

false

none

The start time of the production (as a unix timestamp).

» ended_at

integer

false

none

The end time of the production (as a unix timestamp).

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/productions/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/productions/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/productions/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/productions/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/productions/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": "production.1234-5678",
    "document_name": "My publication",
    "document_id": 123,
    "format": "pdf",
    "status": "running",
    "url": "https://example.paligoapp.com/output-name.pdf",
    "message": "Creating PDF.",
    "steps": {
      "total": 20,
      "count": 2
    },
    "log_url": "https://example.paligoapp.com/production-id/out.log",
    "started_at": 1603625405,
    "ended_at": 1603625405
  }
]

Create production

Body parameter

{
  "publishsetting": "123"
}

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Production

Parameters

Name

In

Type

Required

Description

body

body

ProductionRequestPostPayload

false

none

» publishsetting

body

string

true

The publish setting to base the production on.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/productions/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/productions/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "publishsetting": "123"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/productions/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/productions/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/productions/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "production.1234-5678",
  "document_name": "My publication",
  "document_id": 123,
  "format": "pdf",
  "status": "running",
  "url": "https://example.paligoapp.com/output-name.pdf",
  "message": "Creating PDF.",
  "steps": {
    "total": 20,
    "count": 2
  },
  "log_url": "https://example.paligoapp.com/production-id/out.log",
  "started_at": 1603625405,
  "ended_at": 1603625405
}

Show production

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Production

Parameters

Name

In

Type

Required

Description

id

path

string

true

The ID of the production.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/productions/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/productions/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/productions/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/productions/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/productions/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "production.1234-5678",
  "document_name": "My publication",
  "document_id": 123,
  "format": "pdf",
  "status": "running",
  "url": "https://example.paligoapp.com/output-name.pdf",
  "message": "Creating PDF.",
  "steps": {
    "total": 20,
    "count": 2
  },
  "log_url": "https://example.paligoapp.com/production-id/out.log",
  "started_at": 1603625405,
  "ended_at": 1603625405
}

publishsetting

Once created in Paligo - Saved publish settings can be used through the API to start productions remotely.

List publish settings

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

format

query

string

false

The output format of the setting.

resource

query

integer

false

The resource ID.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Publishsetting]

false

none

none

» id

integer

false

none

The ID of the setting.

» name

string

false

none

The name of the setting.

» resource

integer

false

none

The resource ID.

» created_at

integer

false

none

The setting creation time (as a unix timestamp).

» modified_at

integer

false

none

The setting modification time (as a unix timestamp).

» reuse

boolean

false

none

If the setting is reused.

» shared

boolean

false

none

If the setting is shared.

» creator

integer

false

none

The ID of the user that created the setting.

» format

string

false

none

The output format of the setting.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/publishsettings/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/publishsettings/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/publishsettings/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/publishsettings/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/publishsettings/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "name": "HTML5 standard",
    "resource": 123,
    "created_at": 1603625405,
    "modified_at": 1603625405,
    "reuse": "true",
    "shared": "false",
    "creator": 2,
    "format": "pdf"
  }
]

Show publish setting

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Publishsetting

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the publishsetting.

format

query

string

false

The output format of the setting.

resource

query

integer

false

The resource ID.

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/publishsettings/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/publishsettings/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/publishsettings/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/publishsettings/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/publishsettings/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "HTML5 standard",
  "resource": 123,
  "created_at": 1603625405,
  "modified_at": 1603625405,
  "reuse": "true",
  "shared": "false",
  "creator": 2,
  "format": "pdf"
}

translationexport

This endpoint lets you manage your translation exports.

List translation exports

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Translationexport]

false

none

none

» id

string

false

none

The ID of the export.

» status

string

false

none

The status of the export.

» url

string

false

none

The URL of the export package (available once the export has finished).

» message

string

false

none

A message describing the current step the export is on.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/translationexports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationexports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationexports/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/translationexports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/translationexports/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": "translationexport.1234-5678",
    "status": "running",
    "url": "https://myinstance.paligoapp.com/export-name.pdf",
    "message": "Starting export."
  }
]

Create translation export

Body parameter

{
  "document": 123,
  "source": "en",
  "target": [
    "es"
  ],
  "format": "xliff",
  "approved": true,
  "fuzzy": false,
  "force": true
}

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Translationexport

Parameters

Name

In

Type

Required

Description

body

body

TranslationexportRequestPostPayload

false

none

» document

body

integer

false

The ID of the document.

» source

body

string

false

The source language.

» target

body

[string]

false

The target language(s).

» format

body

string

false

The format of the export.

» approved

body

boolean

false

Include previously translated content.

» fuzzy

body

boolean

false

Include previously unapproved translations (also known as “fuzzy” translations)

» force

body

boolean

false

Per default, Paligo won’t allow posting to documents that are not set as “In Translation”. Set force to true to bypass this behavior.

Enumerated Values

Parameter

Value

» format

xliff

» format

xliffswordfish

» format

po

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/translationexports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationexports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "document": 123,
  "source": "en",
  "target": [
    "es"
  ],
  "format": "xliff",
  "approved": true,
  "fuzzy": false,
  "force": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationexports/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/translationexports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/translationexports/',
  params: {
  }, headers: headers

p JSON.parse(result)

Show translation export

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Translationexport

Parameters

Name

In

Type

Required

Description

id

path

string

true

The ID of the export.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/translationexports/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationexports/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationexports/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/translationexports/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/translationexports/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "translationexport.1234-5678",
  "status": "running",
  "url": "https://myinstance.paligoapp.com/export-name.pdf",
  "message": "Starting export."
}

translationimport

This endpoint lets you manage your translation imports.

List translation imports

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Translationimport]

false

none

none

» id

string

false

none

The ID of the import.

» status

string

false

none

The status of the import.

» url

string

false

none

The URL of the import package (available once the import has finished).

» message

string

false

none

A message describing the current step the import is on.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/translationimports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationimports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationimports/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/translationimports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/translationimports/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": "translationimport.1234-5678",
    "status": "running",
    "url": "https://myinstance.paligoapp.com/import-name.pdf",
    "message": "Starting import."
  }
]

Create translation import

Body parameter

document: 123
target:
  - es
honor_status: true
translation: string
force: true

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Translationimport

Parameters

Name

In

Type

Required

Description

body

body

TranslationimportRequestPostPayload

false

none

» document

body

integer

false

The ID of the document.

» target

body

[string]

false

The target language(s).

» honor_status

body

boolean

false

Per default, Paligo will not replace fragments that have been set to “complete”. With this option disabled, all translations will be imported, disregarding the status.

» translation

body

string(binary)

false

The translation file with one of the formats .po .xlf .xliff

» force

body

boolean

false

Per default, Paligo won’t allow posting to documents that are not set as “In Translation”. Set force to true to bypass this behavior.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"multipart/form-data"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/translationimports/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationimports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "document": 123,
  "target": [
    "es"
  ],
  "honor_status": true,
  "translation": "string",
  "force": true
}';
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationimports/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/translationimports/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/translationimports/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "translationimport.1234-5678",
  "status": "running",
  "url": "https://myinstance.paligoapp.com/import-name.pdf",
  "message": "Starting import."
}

Show translation import

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Translationimport

Parameters

Name

In

Type

Required

Description

id

path

string

true

The ID of the import.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/translationimports/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/translationimports/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/translationimports/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/translationimports/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/translationimports/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": "translationimport.1234-5678",
  "status": "running",
  "url": "https://myinstance.paligoapp.com/import-name.pdf",
  "message": "Starting import."
}

taxonomies

This endpoint lets you manage your taxonomies.

List taxonomies

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

title

query

string

false

Filter taxonomies by title.

color

query

integer

false

Filter taxonomies by color.

parent

query

integer

false

Filter taxonomies by parent.

Enumerated Values

Parameter

Value

color

0

color

1

color

2

color

3

color

4

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Taxonomy]

false

none

none

» id

integer

false

none

The ID of the taxonomy.

» title

string

false

none

The title of the taxonomy.

» color

integer

false

none

The color of the taxonomy.

» parent

integer

false

none

The ID of this taxonomy parent.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/taxonomies/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/taxonomies/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/taxonomies/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/taxonomies/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/taxonomies/',
  params: {
  }, headers: headers

p JSON.parse(result)

Create a taxonomy

Body parameter

{
  "title": "Important",
  "color": 3,
  "parent": 123
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Taxonomy

Parameters

Name

In

Type

Required

Description

body

body

TaxonomyRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/taxonomies/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/taxonomies/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Important",
  "color": 3,
  "parent": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/taxonomies/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/taxonomies/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/taxonomies/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "title": "Important",
  "color": 3,
  "parent": 38
}

Show a taxonomy

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Taxonomy

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the taxonomy.

title

query

string

false

Filter taxonomies by title.

color

query

integer

false

Filter taxonomies by color.

parent

query

integer

false

Filter taxonomies by parent.

Enumerated Values

Parameter

Value

color

0

color

1

color

2

color

3

color

4

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)

Updates taxonomy

Body parameter

{
  "title": "Important",
  "color": 3,
  "parent": 123
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Taxonomy

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the taxonomy.

body

body

TaxonomyRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Important",
  "color": 3,
  "parent": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "title": "Important",
  "color": 3,
  "parent": 38
}

Deletes a taxonomy

Responses

Status

Meaning

Description

Schema

204

No Content

Successful response.

None

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the taxonomy.

force

query

boolean

false

Forces deleting sub-taxonomies.

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/taxonomies/{id}/',
  params: {
  }

p JSON.parse(result)

variables

With these endpoints you can manage your variables.

List variable set

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[allOf]

false

none

none

» id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

The title of the variable set.

and

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variablesets/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablesets/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablesets/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variablesets/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variablesets/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "title": "Products"
  }
]

Create variable set

Body parameter

{
  "title": "Products"
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

VariableSet

Parameters

Name

In

Type

Required

Description

body

body

VariableSetRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/variablesets/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablesets/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Products"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablesets/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/variablesets/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/variablesets/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "title": "Products"
}

Show variable set

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

VariableSet

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The variable set’s ID.

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variablesets/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablesets/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "title": "Products"
}

Update variable set

Body parameter

{
  "title": "Products"
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

VariableSet

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The variable set’s ID.

body

body

VariableSetRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/variablesets/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablesets/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Products"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "title": "Products"
}

Delete variable set

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

None

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The variable set’s ID.

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/variablesets/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablesets/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/variablesets/{id}/')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/variablesets/{id}/',
  params: {
  }

p JSON.parse(result)

List variable variants

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

variable_set_id

query

integer

false

The variable set’s ID.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[allOf]

false

none

none

» id

integer

false

none

The variable variant’s ID.

» variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

The title of the variable variant.

»» variable_set_id

string

false

none

The id of the parent variable set.

and

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variants/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variants/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variants/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variants/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variants/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "variable_set_id": 380,
    "title": "Acme 2000"
  }
]

Create variable variant

Body parameter

{
  "title": "Acme 2000",
  "variable_set_id": 380
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Variant

Parameters

Name

In

Type

Required

Description

body

body

VariantRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/variants/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variants/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Acme 2000",
  "variable_set_id": 380
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variants/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/variants/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/variants/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Acme 2000"
}

Show variable variant

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Variant

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable variant ID

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variants/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variants/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variants/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variants/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variants/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Acme 2000"
}

Update variable variant

Body parameter

{
  "title": "test"
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Variant

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable variant ID

body

body

VariantRequestPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/variants/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variants/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "test"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variants/{id}',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/variants/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/variants/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Acme 2000"
}

Delete variable variant

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

None

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable variant ID

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/variants/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variants/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/variants/{id}',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/variants/{id}')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/variants/{id}',
  params: {
  }

p JSON.parse(result)

List variables

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

variable_set_id

query

integer

false

The variable set’s ID.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[allOf]

false

none

none

» id

integer

false

none

The variable’s ID.

» variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

The title of the variable.

»» type

string

false

none

The type of the variable.

»» variable_set_id

string

false

none

The id of the parent variable set.

and

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

Enumerated Values

Property

Value

type

text

type

xml

type

translation

type

image

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variables/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variables/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variables/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variables/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variables/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "variable_set_id": 380,
    "title": "Height",
    "type": "text"
  }
]

Create variable

Body parameter

{
  "title": "Height",
  "type": "text",
  "variable_set_id": 380
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Variable

Parameters

Name

In

Type

Required

Description

body

body

VariableRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/variables/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variables/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Height",
  "type": "text",
  "variable_set_id": 380
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variables/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/variables/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/variables/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Height",
  "type": "text"
}

Show variable

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Variable

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable label ID

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variables/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variables/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variables/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variables/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variables/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Height",
  "type": "text"
}

Update variable

Body parameter

{
  "title": "Height",
  "type": "text",
  "variable_set_id": 380
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

Variable

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable label ID

body

body

VariableRequestPostPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/variables/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variables/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "title": "Height",
  "type": "text",
  "variable_set_id": 380
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variables/{id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/variables/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/variables/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Height",
  "type": "text"
}

Delete variable

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

None

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable label ID

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/variables/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variables/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
fetch('https://{instance}.paligoapp.com/api/v2/variables/{id}/',
{
  method: 'DELETE'

})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests

r = requests.delete('https://{instance}.paligoapp.com/api/v2/variables/{id}/')

print(r.json())
Request
require 'rest-client'
require 'json'

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/variables/{id}/',
  params: {
  }

p JSON.parse(result)

List variable values

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

variable_set_id

query

integer

false

The variable set’s ID.

variable_id

query

integer

false

Variable label ID

variant_id

query

integer

false

Variable variant ID

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[allOf]

false

none

none

» id

integer

false

none

The variable value’s ID.

» variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» value

any

false

none

none

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

VariableValueText

false

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

VariableValueImage

false

none

none

»»»» id

integer

false

none

Paligo image ID.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

[VariableValueTranslationLanguage]

false

none

none

»»»» language

string

false

none

Language ISO 639-1 two-letter code

»»»» value

string

false

none

Translation string value.

continued

Name

Type

Required

Restrictions

Description

»» variable_id

integer

false

none

The variable’s ID.

»» variant_id

integer

false

none

The variable variant’s ID.

and

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variablevalues/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablevalues/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablevalues/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variablevalues/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variablevalues/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
[
  {
    "id": 123,
    "variable_set_id": 123,
    "value": "string",
    "variable_id": 123,
    "variant_id": 123
  }
]

Create variable value

Body parameter

{
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

VariableValue

Parameters

Name

In

Type

Required

Description

body

body

VariableValueRequestPostPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/variablevalues/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablevalues/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablevalues/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/variablevalues/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/variablevalues/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 123,
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

Show variable value

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

VariableValue

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable value ID

Response Headers

Status

Header

Type

Format

Description

200

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 123,
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

Update variable value

Body parameter

{
  "value": "string"
}

Responses

Status

Meaning

Description

Schema

201

Created

Successful response.

VariableValue

Parameters

Name

In

Type

Required

Description

id

path

integer

true

Variable value ID

body

body

VariableValueRequestPutPayload

false

none

Response Headers

Status

Header

Type

Format

Description

201

Retry-After

integer

Required wait in seconds after hitting a rate limiting limit.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "value": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/variablevalues/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "variable_set_id": 123,
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

group

List groups

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

type

query

string

false

The group type.

Enumerated Values

Parameter

Value

type

assignment

type

access

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Group]

false

none

none

» id

integer

false

none

The ID of the group.

» name

string

false

none

The name of the group.

» is_access

boolean

false

none

Whether the group is an access group.

» is_assignment

boolean

false

none

Whether the group is an assignment group.

» users

[User]

false

none

The group’s users.

»» id

integer

false

none

The ID of the user.

»» username

string

false

none

The user account name.

»» name

string

false

none

The name of the user.

»» email

string

false

none

The email of the user.

»» type

string

false

none

The type of the user.

» description

string

false

none

The group’s description.

Enumerated Values

Property

Value

type

admin

type

author

type

reviewer

type

contributor

type

publisher

type

itadmin

type

translationmanager

type

webdavuser

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/groups", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/groups");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/groups',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/groups', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/groups',
  params: {
  }, headers: headers

p JSON.parse(result)

Show group

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Group

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the group.

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/groups/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/groups/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/groups/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/groups/{id}', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/groups/{id}',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "name": "My group",
  "is_access": true,
  "is_assignment": false,
  "users": [
    {
      "id": 123,
      "username": "JohnDoe",
      "name": "John Doeson",
      "email": "name@example.com",
      "type": "admin"
    }
  ],
  "description": "My group description"
}

assignments

List assignments

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

status

query

AssignmentStatus

false

The status of the assignment.

lang

query

string

false

The language of the assignment.

type

query

AssignmentTypes

false

The type of the assignment.

issuer

query

integer

false

The issuer of the assignment.

users

query

integer

false

The assignee users of the assignment.

groups

query

integer

false

The assignee groups of the assignment.

Enumerated Values

Parameter

Value

status

draft

status

started

status

finished

type

contribution

type

review

type

translation

type

translationreview

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[Assignment]

false

none

none

» id

integer

false

none

The ID of the assignment.

» issuer

string

false

none

The name of the user that created the assignment.

» issuer_id

integer

false

none

The ID of the user that created the assignment.

» status

string

false

none

The status of the assignment.

» type

string

false

none

The type of the assignment.

» document_id

integer

false

none

The document of the assignment.

» start_date

integer

false

none

The start date of the assignment in unix timestamp format.

» end_date

integer

false

none

The end date of the assignment in unix timestamp format.

» lang

string

false

none

The language of the assignment.

» created_at

integer

false

none

The assignment creation time (as a unix timestamp).

» message

string

false

none

The message of the assignment.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/assignments/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/assignments/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/assignments/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/assignments/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/assignments/',
  params: {
  }, headers: headers

p JSON.parse(result)

Create an assignment

Body parameter

{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "type": "contribution",
  "lang": "en",
  "start_date": 1703196000,
  "end_date": 1703196000,
  "message": "hello"
}

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

body

body

AssignmentRequestPostPayload

false

none

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» message

string

false

none

Assignment created.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://{instance}.paligoapp.com/api/v2/assignments/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/assignments/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "type": "contribution",
  "lang": "en",
  "start_date": 1703196000,
  "end_date": 1703196000,
  "message": "hello"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/assignments/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://{instance}.paligoapp.com/api/v2/assignments/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://{instance}.paligoapp.com/api/v2/assignments/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "message": "string"
}

Show an assignment

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Assignment

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the assignment.

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/assignments/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/assignments/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/assignments/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "issuer": "John Doe",
  "issuer_id": 2,
  "status": "draft",
  "type": "contribution",
  "document_id": 3,
  "start_date": 1703196000,
  "end_date": 1703196000,
  "lang": "en",
  "created_at": 1603625405,
  "message": "Hello"
}

Updates an assignment

Body parameter

{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "lang": "en",
  "status": "draft",
  "message": "hello",
  "start_date": 1667218010,
  "end_date": 1667218010
}

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Assignment

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the assignment.

body

body

AssignmentRequestPutPayload

false

none

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://{instance}.paligoapp.com/api/v2/assignments/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/assignments/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const inputBody = '{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "lang": "en",
  "status": "draft",
  "message": "hello",
  "start_date": 1667218010,
  "end_date": 1667218010
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.put('https://{instance}.paligoapp.com/api/v2/assignments/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.put 'https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "issuer": "John Doe",
  "issuer_id": 2,
  "status": "draft",
  "type": "contribution",
  "document_id": 3,
  "start_date": 1703196000,
  "end_date": 1703196000,
  "lang": "en",
  "created_at": 1603625405,
  "message": "Hello"
}

Deletes an assignment.

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the assignment.

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» message

string

false

none

The message with ID of deleted assignment.

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://{instance}.paligoapp.com/api/v2/assignments/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/assignments/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.delete('https://{instance}.paligoapp.com/api/v2/assignments/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.delete 'https://{instance}.paligoapp.com/api/v2/assignments/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "message": "string"
}

users

List users

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

Inline

Parameters

Name

In

Type

Required

Description

page

query

integer

false

Used to specify what page to view when response is paginated.

per_page

query

integer

false

How many results to include in the response.

type

query

string

false

The type of the user.

Enumerated Values

Parameter

Value

type

admin

type

author

type

reviewer

type

contributor

type

publisher

type

itadmin

type

translationmanager

type

webdavuser

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

anonymous

[User]

false

none

none

» id

integer

false

none

The ID of the user.

» username

string

false

none

The user account name.

» name

string

false

none

The name of the user.

» email

string

false

none

The email of the user.

» type

string

false

none

The type of the user.

Enumerated Values

Property

Value

type

admin

type

author

type

reviewer

type

contributor

type

publisher

type

itadmin

type

translationmanager

type

webdavuser

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/users/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/users/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/users/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/users/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/users/',
  params: {
  }, headers: headers

p JSON.parse(result)

Show user

Responses

Status

Meaning

Description

Schema

200

OK

Successful response.

User

To perform this operation, you must be authenticated by means of one of the following methods: basicAuth

Parameters

Name

In

Type

Required

Description

id

path

integer

true

The ID of the user.

Request
package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://{instance}.paligoapp.com/api/v2/users/{id}/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}
Request
URL obj = new URL("https://{instance}.paligoapp.com/api/v2/users/{id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Request
const headers = {
  'Accept':'application/json'
};

fetch('https://{instance}.paligoapp.com/api/v2/users/{id}/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
Request
import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://{instance}.paligoapp.com/api/v2/users/{id}/', headers = headers)

print(r.json())
Request
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://{instance}.paligoapp.com/api/v2/users/{id}/',
  params: {
  }, headers: headers

p JSON.parse(result)
Response
json
{
  "id": 123,
  "username": "JohnDoe",
  "name": "John Doeson",
  "email": "name@example.com",
  "type": "admin"
}

Schemas

Document

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the document.

name

string

false

none

The name of the document.

uuid

string

false

none

The UUID of the document

type

string

false

none

The resource type.

creator

integer

false

none

The ID of the user that created the document.

owner

integer

false

none

The ID of the user that owns the document.

author

integer

false

none

The ID of the user that created the document.

created_at

integer

false

none

The document creation time (as a unix timestamp).

modified_at

integer

false

none

The document modification time (as a unix timestamp).

checkout

boolean

false

none

The checkout status of the document.

checkout_user

integer

false

none

User that has checked out document

parent_resource

integer

false

none

The ID of the document’s parent resource.

taxonomies

[Taxonomy]

false

none

The document’s taxonomies.

content

string

false

none

Document XML content. Only returned when requesting a single document.

languages

[string]

false

none

A list of all the documents translations.

custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

json
{
  "id": 123,
  "name": "My topic",
  "uuid": "UUID-1234-5678",
  "type": "document",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "modified_at": 1603622378,
  "checkout": "false",
  "checkout_user": "2",
  "parent_resource": 456,
  "taxonomies": [
    {
      "id": 603,
      "title": "My taxonomy",
      "color": 3
    }
  ],
  "content": "<?xml>...",
  "languages": [
    "en",
    "jp",
    "sv"
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

DocumentRequestPutPayload

Properties

Name

Type

Required

Restrictions

Description

name

string

false

none

The name of the document.

content

string

false

none

The document XML content.

checkout

boolean

false

none

Force checkout document.

taxonomies

[number]

false

none

The document’s taxonomies.

custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

json
{
  "name": "My topic",
  "content": "<?xml>...",
  "checkout": "false",
  "taxonomies": [
    603,
    304
  ],
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

Fork

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the fork.

uuid

string

false

none

The UUID of the fork.

parent

integer

false

none

The parent of the fork. Either a fork or a document depending on the fork depth.

root_document

integer

false

none

The root document of the fork.

position

integer

false

none

The position of the fork.

depth

integer

false

none

The depth of the fork.

document

Document

false

none

none

json
{
  "id": 8493,
  "uuid": "UUID-1232-1454",
  "parent": 3919,
  "root_document": 3901,
  "position": 7,
  "depth": 4,
  "document": {
    "id": 123,
    "name": "My topic",
    "uuid": "UUID-1234-5678",
    "type": "document",
    "creator": "2",
    "owner": "2",
    "author": "2",
    "created_at": 1603622378,
    "modified_at": 1603622378,
    "checkout": "false",
    "checkout_user": "2",
    "parent_resource": 456,
    "taxonomies": [
      {}
    ],
    "content": "<?xml>...",
    "languages": [
      "en",
      "jp",
      "sv"
    ],
    "custom_attributes": [
      {}
    ]
  }
}

ForkRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

parent

integer

true

none

The ID of the parent fork or document.

document

integer

true

none

The ID of the document represented by the fork.

position

any

false

none

The position of the fork inside the parent. If not provided, the fork will automatically be placed after all siblings. If placed in the middle of a structure, subsequent forks will be moved one step down to accomodate the new fork.

json
{
  "parent": 5421,
  "document": 3981,
  "position": null
}

Group

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the group.

name

string

false

none

The name of the group.

is_access

boolean

false

none

Whether the group is an access group.

is_assignment

boolean

false

none

Whether the group is an assignment group.

users

[User]

false

none

The group’s users.

description

string

false

none

The group’s description.

json
{
  "id": 123,
  "name": "My group",
  "is_access": true,
  "is_assignment": false,
  "users": [
    {
      "id": 123,
      "username": "JohnDoe",
      "name": "John Doeson",
      "email": "name@example.com",
      "type": "admin"
    }
  ],
  "description": "My group description"
}

Search

Properties

Name

Type

Required

Restrictions

Description

page

integer

false

none

The result page.

total_pages

integer

false

none

The total amount of pages.

per_page

integer

false

none

The amount of items per page.

items

[anyOf]

false

none

The search result items.

json
{
  "page": 7,
  "total_pages": 130,
  "per_page": 1,
  "items": [
    {
      "id": 123,
      "name": "My topic",
      "uuid": "UUID-1234-5678",
      "type": "document",
      "creator": "2",
      "owner": "2",
      "author": "2",
      "created_at": 1603622378,
      "modified_at": 1603622378,
      "checkout": "false",
      "checkout_user": "2",
      "parent_resource": 456,
      "taxonomies": [],
      "content": "<?xml>...",
      "languages": [],
      "custom_attributes": []
    }
  ]
}

SearchRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

resource

string

true

none

The target resource.

per_page

integer

false

none

Items to return per page.

page

integer

false

none

The result page.

where

[anyOf]

false

none

Array of search parameters.

anyOf

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereHas

false

none

none

or

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereEquals

false

none

none

or

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereAfter

false

none

none

or

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereBefore

false

none

none

or

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereBetween

false

none

none

or

Name

Type

Required

Restrictions

Description

» anonymous

SearchRequestWhereContainsBlockElement

false

none

none

json
{
  "resource": "documents",
  "per_page": 7,
  "page": 3,
  "where": [
    {
      "operator": "has",
      "property": "languages",
      "value": "en"
    }
  ]
}

SearchRequestWhereHas

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The property to run the comparison on.

value

string

false

none

The value to compare against. Used when comparing against a single value.

values

[string]

false

none

The values to compare against. Used when comparing against multiple values.

json
{
  "operator": "has",
  "property": "languages",
  "value": "en"
}

SearchRequestWhereEquals

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The property to run the comparison on.

value

string

true

none

The value to compare against.

json
{
  "operator": "equals",
  "property": "name",
  "value": "My topic name"
}

SearchRequestWhereAfter

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The date property to perform the comparison on.

value

string

true

none

The Unix timestamp to compare against.

json
{
  "operator": "after",
  "property": "modified_at",
  "value": 1667218010
}

SearchRequestWhereBefore

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The date property to perform the comparison on.

value

string

true

none

The Unix timestamp to compare against.

json
{
  "operator": "before",
  "property": "modified_at",
  "value": 1667218020
}

SearchRequestWhereBetween

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The date property to perform the comparison on.

start

string

true

none

The starting Unix timestamp.

end

string

true

none

The ending Unix timestamp.

json
{
  "operator": "between",
  "property": "modified_at",
  "start": 1667218010,
  "end": 1667218020
}

SearchRequestWhereContainsBlockElement

Properties

Name

Type

Required

Restrictions

Description

operator

string

true

none

The search operator.

property

string

true

none

The property to perform the XML search query on.

value

string

true

none

The target block element.

json
{
  "operator": "containsblockelement",
  "property": "content",
  "value": "itemizedList"
}

Folder

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the folder.

name

string

false

none

The name of the folder.

uuid

string

false

none

The UUID of the folder.

type

string

false

none

The resource type.

children

[Folder]

false

none

The folder’s child folders.

json
{
  "id": 123,
  "name": "My folder",
  "uuid": "UUID-1234-5678",
  "type": "folder",
  "children": [
    {
      "id": "456",
      "name": "My subfolder",
      "uuid": "UUID-5678-1234",
      "type": "folder"
    }
  ]
}

FolderRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

The title of the folder.

parent

string

false

none

The ID of the parent folder.

json
{
  "title": "My folder",
  "parent": 123
}

Image

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the image.

name

string

false

none

The name of the image.

uuid

string

false

none

The UUID of the image.

creator

integer

false

none

The ID of the user that created the document.

owner

integer

false

none

The ID of the user that owns the document.

author

integer

false

none

The ID of the user that created the document.

created_at

integer

false

none

The document creation time (as a unix timestamp).

content_url

string

false

none

A URL where the image can be downloaded.

type

string

false

none

The resource type.

description

string

false

none

The description of the image.

json
{
  "id": 123,
  "name": "Image 1",
  "uuid": "UUID-1234-5678",
  "creator": "2",
  "owner": "2",
  "author": "2",
  "created_at": 1603622378,
  "content_url": "https://example.paligoapp.com/file-name.jpg",
  "type": "image",
  "description": "Description of the image"
}

ImageRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

image

any

false

none

The image file.

variant

string

false

none

The image variant.

trim

boolean

false

none

Removes whitespace for PDF files.

parent

boolean

false

none

The ID of the parent folder.

size

string

false

none

The image size.

Enumerated Values

Property

Value

size

pre

size

scr

size

lpr

size

hpr

size

icn

size

spr

json
{
  "image": null,
  "variant": "de",
  "trim": "true",
  "parent": 123,
  "size": "lpr"
}

ImageRequestPutPayload

Properties

Name

Type

Required

Restrictions

Description

image

any

false

none

The image file.

variant

string

false

none

The image variant.

trim

boolean

false

none

Removes whitespace for PDF files.

size

string

false

none

The image size.

Enumerated Values

Property

Value

size

pre

size

scr

size

lpr

size

hpr

size

icn

size

spr

json
{
  "image": null,
  "variant": "de",
  "trim": "true",
  "size": "lpr"
}

Import

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the import process.

status

string

false

none

The status of the import.

message

string

false

none

A message describing the current step the import is on.

steps

object

false

none

An object describing the progress of the import.

» total

integer

false

none

Total number of steps.

» count

integer

false

none

Current step.

user

integer

false

none

The user that started the import.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

json
{
  "id": "123",
  "status": "running",
  "message": "Importing 1 component out of 23.",
  "steps": {
    "total": "20",
    "count": "3"
  },
  "user": 2
}

ImportRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

archive

string(binary)

false

none

The archive file to import.

parent

integer

false

none

The ID of the target folder to import content into.

type

string

false

none

The import type.

match_components

boolean

false

none

When importing content the system can try to match content to already existing content. Check this option if you want Paligo to perform such a matching.

generate_hazard

boolean

false

none

When selected, admonitions (notes, warnings, etc) will be imported as separate components. These are then reused in the parent component.

ignore_warnings

boolean

false

none

When selected, warning messages about uploaded XML are ignored. Only use this if there are issues.

zendesk_category

string

false

none

The Zendesk category if importing from Zendesk.

openapi_languages

[string]

false

none

Snippet languages to generate when importing OpenAPI.

openapi_maxdepth

integer

false

none

The maximum depth to show for schema examples when importing OpenAPI.

title_prefix

string

false

none

Prefix that will be prepended as-is to all topic titles.

folder_numbering

boolean

false

none

Automatic numbering of folders - similar to numbering in a TOC.

folder_levels

integer

false

none

Max number of nested folders to create when importing content.

use_varset_id

integer

false

none

When set, the import will try to match variables with existing ones.

Enumerated Values

Property

Value

type

paligo

type

db5

type

db4

type

xhtml

type

confluence

type

dita

type

flare

type

helpandmanual

type

docx

type

authorit

type

zendesk

type

openapi

json
{
  "archive": "string",
  "parent": 123,
  "type": "openapi",
  "match_components": "false",
  "generate_hazard": "false",
  "ignore_warnings": "false",
  "zendesk_category": "123",
  "openapi_languages": [
    "javascript",
    "php"
  ],
  "openapi_maxdepth": 3,
  "title_prefix": "123",
  "folder_numbering": "true",
  "folder_levels": 123,
  "use_varset_id": 123
}

Production

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the production.

document_name

string

false

none

The name of the document being published.

document_id

integer

false

none

The ID of the document being published.

format

string

false

none

The output format.

status

string

false

none

The status of the production.

url

string

false

none

The URL of the output (available once the production has finished).

message

string

false

none

A message describing the current step the production is on.

steps

object

false

none

An object describing the progress of the production.

» total

integer

false

none

Total number of steps.

» count

integer

false

none

Current step.

log_url

string

false

none

The production log for the output.

started_at

integer

false

none

The start time of the production (as a unix timestamp).

ended_at

integer

false

none

The end time of the production (as a unix timestamp).

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

json
{
  "id": "production.1234-5678",
  "document_name": "My publication",
  "document_id": 123,
  "format": "pdf",
  "status": "running",
  "url": "https://example.paligoapp.com/output-name.pdf",
  "message": "Creating PDF.",
  "steps": {
    "total": 20,
    "count": 2
  },
  "log_url": "https://example.paligoapp.com/production-id/out.log",
  "started_at": 1603625405,
  "ended_at": 1603625405
}

ProductionRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

publishsetting

string

true

none

The publish setting to base the production on.

json
{
  "publishsetting": "123"
}

Publishsetting

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the setting.

name

string

false

none

The name of the setting.

resource

integer

false

none

The resource ID.

created_at

integer

false

none

The setting creation time (as a unix timestamp).

modified_at

integer

false

none

The setting modification time (as a unix timestamp).

reuse

boolean

false

none

If the setting is reused.

shared

boolean

false

none

If the setting is shared.

creator

integer

false

none

The ID of the user that created the setting.

format

string

false

none

The output format of the setting.

json
{
  "id": 123,
  "name": "HTML5 standard",
  "resource": 123,
  "created_at": 1603625405,
  "modified_at": 1603625405,
  "reuse": "true",
  "shared": "false",
  "creator": 2,
  "format": "pdf"
}

Translationexport

Properties

Name

Type

Required

Restrictions

Description

id

string

false

none

The ID of the export.

status

string

false

none

The status of the export.

url

string

false

none

The URL of the export package (available once the export has finished).

message

string

false

none

A message describing the current step the export is on.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

json
{
  "id": "translationexport.1234-5678",
  "status": "running",
  "url": "https://myinstance.paligoapp.com/export-name.pdf",
  "message": "Starting export."
}

Translationimport

Properties

Name

Type

Required

Restrictions

Description

id

string

false

none

The ID of the import.

status

string

false

none

The status of the import.

url

string

false

none

The URL of the import package (available once the import has finished).

message

string

false

none

A message describing the current step the import is on.

Enumerated Values

Property

Value

status

cancelled

status

done

status

running

json
{
  "id": "translationimport.1234-5678",
  "status": "running",
  "url": "https://myinstance.paligoapp.com/import-name.pdf",
  "message": "Starting import."
}

TranslationexportRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

document

integer

false

none

The ID of the document.

source

string

false

none

The source language.

target

[string]

false

none

The target language(s).

format

string

false

none

The format of the export.

approved

boolean

false

none

Include previously translated content.

fuzzy

boolean

false

none

Include previously unapproved translations (also known as “fuzzy” translations)

force

boolean

false

none

Per default, Paligo won’t allow posting to documents that are not set as “In Translation”. Set force to true to bypass this behavior.

Enumerated Values

Property

Value

format

xliff

format

xliffswordfish

format

po

json
{
  "document": 123,
  "source": "en",
  "target": [
    "es"
  ],
  "format": "xliff",
  "approved": true,
  "fuzzy": false,
  "force": true
}

TranslationimportRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

document

integer

false

none

The ID of the document.

target

[string]

false

none

The target language(s).

honor_status

boolean

false

none

Per default, Paligo will not replace fragments that have been set to “complete”. With this option disabled, all translations will be imported, disregarding the status.

translation

string(binary)

false

none

The translation file with one of the formats .po .xlf .xliff

force

boolean

false

none

Per default, Paligo won’t allow posting to documents that are not set as “In Translation”. Set force to true to bypass this behavior.

json
{
  "document": 123,
  "target": [
    "es"
  ],
  "honor_status": true,
  "translation": "string",
  "force": true
}

User

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the user.

username

string

false

none

The user account name.

name

string

false

none

The name of the user.

email

string

false

none

The email of the user.

type

string

false

none

The type of the user.

Enumerated Values

Property

Value

type

admin

type

author

type

reviewer

type

contributor

type

publisher

type

itadmin

type

translationmanager

type

webdavuser

json
{
  "id": 123,
  "username": "JohnDoe",
  "name": "John Doeson",
  "email": "name@example.com",
  "type": "admin"
}

Taxonomy

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the taxonomy.

title

string

false

none

The title of the taxonomy.

color

integer

false

none

The color of the taxonomy.

parent

integer

false

none

The ID of this taxonomy parent.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

json
{
  "id": 123,
  "title": "Important",
  "color": 3,
  "parent": 38
}

Assignment

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The ID of the assignment.

issuer

string

false

none

The name of the user that created the assignment.

issuer_id

integer

false

none

The ID of the user that created the assignment.

status

string

false

none

The status of the assignment.

type

string

false

none

The type of the assignment.

document_id

integer

false

none

The document of the assignment.

start_date

integer

false

none

The start date of the assignment in unix timestamp format.

end_date

integer

false

none

The end date of the assignment in unix timestamp format.

lang

string

false

none

The language of the assignment.

created_at

integer

false

none

The assignment creation time (as a unix timestamp).

message

string

false

none

The message of the assignment.

json
{
  "id": 123,
  "issuer": "John Doe",
  "issuer_id": 2,
  "status": "draft",
  "type": "contribution",
  "document_id": 3,
  "start_date": 1703196000,
  "end_date": 1703196000,
  "lang": "en",
  "created_at": 1603625405,
  "message": "Hello"
}

CustomAttribute

Properties

Name

Type

Required

Restrictions

Description

name

string

false

none

The name of the attribute.

value

string

false

none

The value of the attribute.

json
{
  "name": "My custom attribute",
  "value": "My attribute value"
}

TaxonomyRequestPostPutPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

true

none

The title of the taxonomy.

color

integer

false

none

The color of the taxonomy.

parent

integer

false

none

The parent taxonomy, by deafult uses the root one.

Enumerated Values

Property

Value

color

0

color

1

color

2

color

3

color

4

json
{
  "title": "Important",
  "color": 3,
  "parent": 123
}

AssignmentRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

assignees

object

true

none

The assignees of the assignment. At least one user or group is required.

document

integer

true

none

The document of the assignment.

type

AssignmentTypes

true

none

none

lang

string

true

none

The language of the assignment.

start_date

integer

true

none

The start date of the assignment in unix timestamp format.

end_date

integer

true

none

The end date of the assignment in unix timestamp format.

message

string

false

none

The message of the assignment.

json
{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "type": "contribution",
  "lang": "en",
  "start_date": 1703196000,
  "end_date": 1703196000,
  "message": "hello"
}

AssignmentRequestPutPayload

Properties

Name

Type

Required

Restrictions

Description

assignees

object

false

none

The assignees of the assignment. At least one user or group is required.

document

integer

false

none

The document of the assignment.

lang

string

false

none

The language of the assignment.

status

string

false

none

The status of the assignment.

message

string

false

none

The message of the assignment.

start_date

integer

false

none

The start date of the assignment in unix timestamp format.

end_date

integer

false

none

The end date of the assignment in unix timestamp format.

json
{
  "assignees": {
    "users": [
      1,
      2
    ],
    "groups": [
      2
    ]
  },
  "document": 3,
  "lang": "en",
  "status": "draft",
  "message": "hello",
  "start_date": 1667218010,
  "end_date": 1667218010
}

AssignmentTypes

Properties

Name

Type

Required

Restrictions

Description

anonymous

string

false

none

none

Enumerated Values

Property

Value

anonymous

contribution

anonymous

review

anonymous

translation

anonymous

translationreview

json
"contribution"

AssignmentStatus

Properties

Name

Type

Required

Restrictions

Description

anonymous

string

false

none

none

Enumerated Values

Property

Value

anonymous

draft

anonymous

started

anonymous

finished

json
"draft"

VariableSetRequestPostPutPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

The title of the variable set.

json
{
  "title": "Products"
}

VariableRequestPostPutPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

The title of the variable.

type

string

false

none

The type of the variable.

variable_set_id

string

false

none

The id of the parent variable set.

Enumerated Values

Property

Value

type

text

type

xml

type

translation

type

image

json
{
  "title": "Height",
  "type": "text",
  "variable_set_id": 380
}

VariantRequestPostPutPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

The title of the variable variant.

variable_set_id

string

false

none

The id of the parent variable set.

json
{
  "title": "Acme 2000",
  "variable_set_id": 380
}

VariantRequestPutPayload

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

The title of the variable variant.

json
{
  "title": "test"
}

VariableValueText

Properties

Name

Type

Required

Restrictions

Description

anonymous

string

false

none

none

json
"string"

VariableValueImage

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

Paligo image ID.

json
{
  "id": 123
}

VariableValueTranslationLanguage

Properties

Name

Type

Required

Restrictions

Description

language

string

false

none

Language ISO 639-1 two-letter code

value

string

false

none

Translation string value.

json
{
  "language": "en",
  "value": "Hello"
}

VariableValueTranslation

Properties

Name

Type

Required

Restrictions

Description

anonymous

[VariableValueTranslationLanguage]

false

none

none

json
[
  {
    "language": "en",
    "value": "Hello"
  }
]

VariableValueRequestPutPayload

Properties

Name

Type

Required

Restrictions

Description

value

any

false

none

none

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueText

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueImage

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueTranslation

false

none

none

json
{
  "value": "string"
}

VariableValueRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

value

any

false

none

none

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueText

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueImage

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

VariableValueTranslation

false

none

none

continued

Name

Type

Required

Restrictions

Description

variable_id

integer

false

none

The variable’s ID.

variant_id

integer

false

none

The variable variant’s ID.

json
{
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

VariableSet

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

anonymous

VariableSetRequestPostPutPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

json
{
  "id": 123,
  "title": "Products"
}

Variable

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The variable’s ID.

variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

anonymous

VariableRequestPostPutPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Height",
  "type": "text"
}

Variant

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The variable variant’s ID.

variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

anonymous

VariantRequestPostPutPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

json
{
  "id": 123,
  "variable_set_id": 380,
  "title": "Acme 2000"
}

VariableValue

Properties

Name

Type

Required

Restrictions

Description

id

integer

false

none

The variable value’s ID.

variable_set_id

integer

false

none

The variable set’s ID.

allOf

Name

Type

Required

Restrictions

Description

anonymous

VariableValueRequestPostPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

json
{
  "id": 123,
  "variable_set_id": 123,
  "value": "string",
  "variable_id": 123,
  "variant_id": 123
}

DocumentRequestPostPayload

Properties

Name

Type

Required

Restrictions

Description

parent

integer

false

none

The parent folder of the document, by default - Documents root folder

name

string

false

none

The name of the document.

custom_attributes

[CustomAttribute]

false

none

A list of custom attributes on the document.

json
{
  "parent": 34,
  "name": "My topic",
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ]
}

DocumentByTypeRequestPostPayload

Properties

allOf

Name

Type

Required

Restrictions

Description

anonymous

DocumentRequestPostPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» content

string

false

none

The document XML content.

» subtype

string

false

none

The type of the document.

Enumerated Values

Property

Value

subtype

publication

subtype

component

subtype

informaltopic

subtype

appendix

subtype

danger

subtype

warning

subtype

caution

subtype

notice

subtype

note

subtype

important

subtype

tip

subtype

custom

json
{
  "parent": 34,
  "name": "My topic",
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ],
  "content": "<?xml>...",
  "subtype": "component"
}

DocumentByTemplateRequestPostPayload

Properties

allOf

Name

Type

Required

Restrictions

Description

anonymous

DocumentRequestPostPayload

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» template

integer

false

none

The template of the document.

json
{
  "parent": 34,
  "name": "My topic",
  "custom_attributes": [
    {
      "name": "My custom attribute name",
      "value": "My attribute value"
    }
  ],
  "template": 674
}