Management API
The Management API is a RESTful interface to any action you can do in your account of the CraftAR Service.
Use the Management API to integrate CraftAR functionalities in your applications and services. It allows you to programmatically access and manipulate all resources found in CraftAR.
The API follows a RESTful architecture, uses HTTPS exclusively and accepts and returns JSON. This document contains a detailed description of the API calls.
We provide PHP and Python libraries for the Management API. Thanks to our customers, we also have implementations of this API for .NET, and Ruby.
Common
URL All the endpoint urls use HTTPS and follow this format
Authentication API calls can be authenticated in two ways: by using the API Key, or by using the Session.
Pagination When getting a list of resources, the Management API will return a paginated set of objects.
Collection
A Collection is a group of Items. It has at least one Token.
Create a new collection.
- name: must be unique
Delete an existing collection
- uuid: collection's unique identifier
Retrieve a single collection by ID
- uuid: collection's unique identifier
Retrieve a list of collections
- name: filter by this exact match.
- name__contains: filter by case-sensitive containment.
Update an existing collection.
- uuid: collection's unique identifier
Item
The basic concept you want to recognize. An Item belongs to a Collection. It has at least one Image.
Create a new item
- name: string that describes the item
- collection: resource uri like
/api/v0/collection/UUID/
- tags: list of resource URIs like
["/api/v0/tag/UUID1/", "/api/v0/tag/UUID2/"]
- url: URL related to the item's content
- content: a valid JSON object
- custom: any type of custom data attached to the item.
- trackable: true for creating an AR item (default: false)
Delete an existing item
- uuid: item's unique identifier
Retrieve a single item by UUID
- uuid: item's unique identifier
Retrieve a list of items
- name: filter by this exact match.
- name__contains: filter by case-sensitive containment.
- collection__uuid: filter by collection UUID.
- collection__name: filter by collection name, using this exact match.
- collection__name__contains: filter by collection name, using case-sensitive containment.
Update an existing item
- uuid: item's unique identifier
- tags: list of resource URIs like
["/api/v0/tag/UUID1/", "/api/v0/tag/UUID2/"]
- url: URL related to the item's content
- content: a valid JSON object
- custom: any type of custom data attached to the item.
- trackable: true for creating an AR item (default: false)
Image
Belongs to an Item. An Item can be recognized from several images, in example:
Create a new image
- item: resource uri like
/v0/item/UUID/
- file: file with the new reference image
Delete an existing image
- uuid: image's unique identifier
Retrieve a single image by UUID
- uuid: image's unique identifier
Retrieve a list of images
- name: filter by this exact match.
- name__contains: filter by case-sensitive containment.
- item__uuid: filter by item UUID.
- item__name: filter by item by this exact match.
- item__name__contains: filter by item by case-sensitive containment.
- item__collection__uuid: filter by item’s collection UUID.
- item__collection__name: filter by item’s collection name, using this exact match.
- item__collection__name__contains: filter by item’s collection name, using case-sensitive containment.
- status: filter by image status (ER or OK).
Tag

Create a new Tag in a given Collection. You should contact support to enable this feature int your account.
- collection: resource uri like /v0/collection/UUID/
- name: unique name of your Tag
Delete an existing tag
- uuid: tag's unique identifier
Retrieve a single Tag by UUID
- uuid: tag's unique identifier
Retrieve a list of tags
- name: filter by this exact match.
- name__contains: filter by case-sensitive containment.
CollectionBundle

Create a collection bundle for an offline SDK or, regenerate it if a bundle with the same parameters already exists.
- collection: resource uri like /v0/collection/UUID/
- app: resource uri like /v0/app/UUID/
- version: resource uri like /v0/version/UUID/
- tag: resource uri like /api/v0/tag/UUID/
Delete an existing Collection Bundle
- uuid: collection bundle's unique identifier
Retrieve a single Collection Bundle by ID
- uuid: collection bundle's unique identifier
Retrieve a list of Collection Bundles
- tag__name: filter by tag name, using this exact match.
- app__name: filter by application name, using this exact match.
Application ID

Create a new Application ID
- collection: resource uri like /v0/collection/UUID/
- name: name of your application's identifier
Retrieve a single Application ID by ID
- uuid: application's unique identifier
Retrieve a list of Application ID
None
SDK Version

Retrieve a single SDK version by ID
- uuid: SDK version unique identifier
Retrieve a list of available SDK versions
- sdk_name: filter by SDK's name
- sdk_version: filter by SDK's version
Token
A Token belongs to a Collection. It’s used to identify the Collection when doing queries against the Recognition API.
Create a new token.
- collection: resource uri like
/v0/collection/UUID/
Delete an existing token
- uuid: token's unique identifier
Retrieve a list of tokens
- collection__uuid: filter by collection UUID.
- collection__name: filter by collection name, using this exact match.
- collection__name__contains: filter by collection name, using case-sensitive containment.
- uuid: item's unique identifier
- tags: list of resource URIs like
["/api/v0/tag/UUID1/", "/api/v0/tag/UUID2/"]
Media
Media objects are an optional feature that we provide for convenience, in case you don’t have a CDN.
Create a new media
- file: file with the new media object
Delete an existing media
- uuid: media's unique identifier
Retrieve a single media object by UUID
- uuid: media's unique identifier
Retrieve a list of media objects
- name: filter by this exact match.
- name__contains: filter by case-sensitive containment.
- mimetype: filter by this exact match.
- mimetype__contains: filter by case-sensitive containment.
Comments
0 comments
Article is closed for comments.