GET https://api.orbitkit.com/designs

Retrieves a complete list of all of your designs. The result will be encapsulated in an object like this:

{ "data": [ {...first...}, {...second...} ] }

The data will be the same data in the GET single design endpoint below.

GET https://api.orbitkit.com/designs/DES123

Obtain the data for a single design with key DES123. The response looks like:

{
"key": "DES123",
"art": "https://storage.googleapis.com/orbitkit/1234-56789",
"filename": "yourfile.png",
"batch": "2019-02-05T19:37:45.123Z",
"translations": [
{
"language": "en",
"title": "Cool Design",
"description": "It's really cool",
"tags": ["very","cool"]
},
{...de...},
{...es...},
{...fr...}
],
"note": "My private note",
"mature": false
}

Requests for invalid keys produce 410 GONE (to explicitly distinguish from 404).

POST https://api.orbitkit.com/designs

Imports a design into OrbitKit, optionally updating the design if it already exists. The POST body should include the following JSON:

{
"art": "http://example.com/your/image_file.png",
"contentType": "image/png",
"filename": "image_file.png",
"batch": "2019-02-05T19:37:45.123Z",
"translations": [
{
"language": "en",
"title": "Cool Design",
"description": "It's really cool",
"tags": ["very","cool"]
},
"note": "My private note about this design",
"mature": false,
"update": false
]
}
  • art can be any public URL to a jpg or png image. It can also be a base64-encoded string of the raw file data. If using base64, files are limited to about 24MB max size. There is no limit when submitting art with a URL.

  • contentType is required for base64 art. It is optional for URLs; if not provided, OrbitKit will use the contentType obtained when fetching URL.

  • filename must be provided, and is stored along with the design. It is recommended, but not required, that all your filenames be unique.

  • batch should be an ISO8601 date in UTC, including millisecond precision. If you want multiple designs to be in the same batch, provide the exact same value for each. Batches are just timestamps.

  • translations are the design metadata in zero or more languages. The currently allowed languages are en, de, fr, and es.

  • note is a bit of private information from, and for, you.

  • mature will flag the design as mature

  • update determines whether filename & note & translations should be updated when a duplicate upload is detected. If false, a duplicate upload is completely ignored. "Duplicate" is determined by a byte-for-byte comparison of the image.

  • tags order is significant. Private tags (which start with $) will automatically be moved to the front of the list.

The response will be the actual design data on file (see GET /designs/DES123 below).

OrbitKit only stores one copy of each design image. If you try to upload a duplicate image, OrbitKit will ignore the duplicate and return success (200 OK) with the original design data JSON.

PUT https://api.orbitkit.com/designs/DES123

Updates the data for a specific design. Note that everything is required, there is no partial update. If you do not specify the translation for a language, that translation will be removed.

{
"filename": "image_file.png",
"translations": [
{
"language": "en",
"title": "Cool Design",
"description": "It's really cool",
"tags": ["very","cool"]
},
"note": "My private note about this design",
"mature": false
]
}

Changes to data will trigger updates of affected exhibits. For example, if you add a tag, this tag will be added to all of the published exhibits.

The updated design data will be returned.

GET https://api.orbitkit.com/designs/DES123/exhibits

List the exhibits for a specific design. The result will be encapsulated in an object like this:

{ "data": [ {...first...}, {...second...} ] }

Each exhibit object will be the same data as in the GET single exhibit endpoint.

Did this answer your question?