Clockwork

API - Versão: 1


Autenticação

A autenticação na API é feita por meio de uma API Key, a qual é gerada durante o registro (Sign Up) de sua conta. O API Key pode ser encontrado na tela de configurações da sua conta ou na tela de configurações de qualquer um de seus aplicativos.
O API Key deve ser enviado no header HTTP Clockwork-API-Key cada vez que uma requisição e feita a API.

Exemplo:

Clockwork-API-Key: c9aa7dd6104dc781408affa366a0e302aa353970

Identificação do aplicativo

Todos os recursos manipuláveis via API pertencem a um aplicativo. Para contextualizar cada requisição em um determinado aplicativo, é necessário o envio do HTTP header Clockwork-Application-Id com o identificador único do aplicativo. O identificador de cada aplicativo pode ser encontrado na tela configurações do aplicativo.

Exemplo:

Clockwork-Application-Id: 7a1aec94d4deb074e6dae41410d20c3b329a7808

Resposta

Toda a comunicação entre as aplicações clientes e a API segue o padrão REST, tendo o formato JSON como padrão para troca de informações. Para tanto, as aplicações clientes devem sempre enviar o header HTTP Accept com o valor application/json.

Exemplo:

Accept: application/json

O padrão REST se utiliza da riqueza do protocolo HTTP para simplificar a comunicação entre as aplicações envolvidas. Com isso, os métodos (GET, POST, PATCH, DELETE) e os códigos de estado (200, 201, 401, 422, ..., 500) do protocolo HTTP exercem funções fundamentais na comunicação.

Sempre que ocorrer algum erro de validação durante o processamento de alguma requisição, o código de estado HTTP retornado será 422 (Unprocessable Entity) indicando que não foi possível realizar a operação desejada. Juntamente com o código, o corpo da resposta trará um objeto JSON com os erros de validação ocorridos.

Exemplo:

Códido de estado HTTP: 422 Unprocessable Entity
HTTP body:
{
  "errors": {
    "url": [
      "can't be blank"
    ]
  }
}

Versão

O versão da API, com a qual a aplicação cliente deseja se comunicar, pode ser definida no header HTTP Accept ou através do Query Parameter api_version. Caso nenhuma destas informações seja fornecida, será utilizada a versão mais atual da API.

Exemplos:

Accept: application/json; api_version=1

http://api.cwork.co/devices?api_version=1

Resources


Devices

POST /devices

Permite o cadastro de dispositivos para o recebimento de notificações ou ainda para utilização de outros serviços da plataforma.

HTTP Request body:

{
  "platform": "ios",
  "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "phone": "555199887766",
  "label": "Homer",
  "tags": [
    "Simpson"
  ]
}
Campo Descrição Mandatório
platform Plataforma do dispositivo (ios/android). Não
push_token Token único do dispositivo para recebimento de notificações. Não
phone Telefone do usuário. Não
label Um forma alternativa de identificação do dispositivo, como por exemplo o nome do usuário. Não
tags Agrupadores que facilitam o direcionamento de notificações. Não

Para que o dispositivo possa receber notificações do tipo PUSH, é necessário informar o push_token e a platform (ios, android) do dispositivo.

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP header Location: http://api.cwork.co/devices/1
HTTP body:
{
  "id": 1,
  "app_id": 1,
  "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "platform": "ios",
  "phone": "555199887766",
  "label": "Homer",
  "active": true,
  "tags": [
    "Simpson"
  ],
  "created_at": "2014-04-02T15:45:59.486Z",
  "updated_at": "2014-04-02T15:45:59.486Z"
}

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "platform": "ios",
        "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
        "phone": "555199887766",
        "label": "Homer",
        "tags": [
          "Simpson"
        ]
      }' \
  http://api.cwork.co/devices

GET /devices/<:device_id>

Permite a busca dos dados de um determinado dispositivo a partir do seu id (:device_id).

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": 1,
  "app_id": 1,
  "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "platform": "ios",
  "phone": "555199887766",
  "label": "Homer",
  "active": true,
  "tags": [
    "Simpson"
  ],
  "created_at": "2014-04-02T15:45:59.486Z",
  "updated_at": "2014-04-02T15:45:59.486Z"
}

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/devices/1

PATCH /devices/<:device_id>

Permite a atualização dos dados de um determinado dispositivo a partir do seu id (:device_id), assim como as tags a ele associadas. A lista de tags do dispositivo sempre será substituída pela nova lista recebida na requisição de atualização, a não ser que o atributo tags não seja enviado.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
    "id": 1,
    "app_id": 1,
    "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "platform": "ios",
    "phone": "555199880000",
    "label": "Homer",
    "active": true,
    "tags": [
        "Simpson",
        "Springfield"
    ],
    "created_at": "2014-04-02T15:45:59.486Z",
    "updated_at": "2014-04-02T16:45:02.931Z"
}

Curl:

curl -i -X PATCH \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "phone": "555199880000",
        "tags": [
          "Simpson",
          "Springfield"
        ]
      }' \
  http://api.cwork.co/devices/1

GET /devices

Permite listar os dispositivos relacionados à aplicação.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP Body:
[
  {
    "id": 1,
    "app_id": 1,
    "push_token": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "platform": "ios",
    "phone": "555199880000",
    "label": "Homer",
    "active": true,
    "tags": [
      "Simpson",
      "Springfield"
    ],
    "created_at": "2014-04-02T15:45:59.486Z",
    "updated_at": "2014-04-02T16:45:02.931Z"
  },
  {
    "id": 2,
    "app_id": 1,
    "push_token": "APA91bErO8-a4kBPzr34zMWWM7wsz0wLVQ1zeKxaWa0SbU6YoDhn049gsIm5J5pKd3rx87kfdNkehUdAcc48LsHFKBtkYHrZ2PXD9YlH0R8t01kzgRyLlLci9hRaO16z1AiuHvwvWciWwAgFgzMx4c97LP_5ztjCrw",
    "platform": "android",
    "phone": "555177669988",
    "label": "Ned",
    "active": true,
    "tags": [
      "Flanders",
      "Springfield"
    ],
    "created_at": "2014-04-02T17:10:00.486Z",
    "updated_at": "2014-04-02T17:10:00.486Z"
  }
]

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/devices

DELETE /devices/<:device_id>

Permite remover um determinado dispositivo a partir do seu id (:device_id).

HTTP Response:

Códido de estado HTTP: 204 No Content

Curl:

curl -i -X DELETE \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/devices/1

Files

POST /files

Permite fazer o upload de um novo arquivo. O arquivo deve ser enviado através do parâmetro file.

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP header Location: http://api.cwork.co/files/1
HTTP body:
{
  "id": 1,
  "app_id": 1,
  "name": "logo.png",
  "content_type": "application/octet-stream",
  "size": 11273,
  "created_at": "2014-04-09T20:49:44.146Z",
  "updated_at": "2014-04-09T20:49:44.146Z"
}

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -F 'file=@clockwork.png' \
  http://api.cwork.co/files

GET /files/<:file_id>

Permite a busca das informações de um determinado arquivo a partir do seu id (:file_id).

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": 1,
  "app_id": 1,
  "name": "logo.png",
  "content_type": "application/octet-stream",
  "size": 11273,
  "created_at": "2014-04-09T20:49:44.146Z",
  "updated_at": "2014-04-09T20:49:44.146Z"
}

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/files/1

PATCH /files/<:file_id>

Permite susbtituir o arquivo em questão por um novo arquivo. O arquivo deve ser enviado através do parâmetro file.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": 1,
  "app_id": 1,
  "name": "simpsons.gif",
  "content_type": "image/gif",
  "size": 167662,
  "created_at": "2014-04-09T20:49:44.146Z",
  "updated_at": "2014-04-09T21:24:00.299Z"
}

Curl:

curl -i -X PATCH \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -F 'file=@simpsons.gif' \
  http://api.cwork.co/files/1

GET /files

Permite listar os arquivos relacionados à aplicação.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP Body:
[
  {
    "id": 1,
    "app_id": 1,
    "name": "simpsons.gif",
    "content_type": "image/gif",
    "size": 167662,
    "created_at": "2014-04-09T20:49:44.146Z",
    "updated_at": "2014-04-09T21:24:00.299Z"
  },
  {
    "id": 2,
    "app_id": 1,
    "name": "book.pdf",
    "content_type": "application/octet-stream",
    "size": 645047,
    "created_at": "2014-04-09T21:34:25.661Z",
    "updated_at": "2014-04-09T21:34:25.661Z"
  }
]

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/files

DELETE /files/<:file_id>

Permite remover um determinado arquivo a partir do seu id (:file_id).

HTTP Response:

Códido de estado HTTP: 204 No Content

Curl:

curl -i -X DELETE \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/files/1

GET /files/<:file_id>/download

Permite acessar um determinado arquivo a partir do seu id (:file_id).

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body: conteúdo do arquivo

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/files/1/download

Short Urls

POST /short_urls

Permite criar urls encurtadas facilitando, por exemplo, o envio dessas urls por meios que apresentam restrição quanto ao tamanho da informação enviada, como SMS.

HTTP Request body:

{
  "url": "http://www.youtube.com/user/nerdologia/videos?shelf_id=1&sort=dd&view=0"
}
Campo Descrição Mandatório
url Url original Sim

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP Body:
{
  "id": 1,
  "app_id": 1,
  "short_url": "http://cwork.co/h5i3k",
  "url": "http://www.youtube.com/user/nerdologia/videos?shelf_id=1&sort=dd&view=0",
  "created_at": "2014-04-10T16:32:29.654Z",
  "updated_at": "2014-04-10T16:32:29.654Z"
}

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "url": "http://www.youtube.com/user/nerdologia/videos?shelf_id=1&sort=dd&view=0"
      }' \
  http://api.cwork.co/short_urls

Pushes

POST /pushes

Permite o envio de notificações do tipo PUSH para aplicações móveis instaladas em dispositivos com sistema operacional Android ou iOS.

HTTP Request body:

{
  "tags": [
    "Simpson",
    "Flanders"
  ],
  "data": {
    "ios": {
      "alert": "Hello world!",
      "badge": 1,
      "sound": "default"
    },
    "android": {
      "alert": "Hello world!"
    }
  }
}

Além de enviar notificações para determinados grupos de dispositivos (tags), também é possível identificar os dispositivos que deverão receber a notificação a partir de uma lista de push tokens (receivers).

HTTP Request body:

{
  "receivers": {
    "ios": [
      "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
    ],
    "android": [
      "APA91bErO8-a4kBPzr34zMWWM7wsz0wLVQ1zeKxaWa0SbU6YoDhn049gsIm5J5pKd3rx87kfdNkehUdAcc48LsHFKBtkYHrZ2PXD9YlH0R8t01kzgRyLlLci9hRaO16z1AiuHvwvWciWwAgFgzMx4c97LP_5ztjCrw"
    ]
  },
  "data": {
    "ios": {
      "alert": "Hello world!",
      "badge": 1,
      "sound": "default"
    },
    "android": {
      "alert": "Hello world!"
    }
  }
}
Campo Descrição Mandatório
tags Grupos de dispositivos que receberão a notificação. Não
receivers Lista de push tokens dos dispositivos que serão notificados. Não
data Conteúdo da notificação. Sim

É possível enviar tanto uma lista de tags quanto de receivers, assim como uma combinação destas duas listas.

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP header Location: http://api.cwork.co/pushes/1

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "tags": [
          "Simpson",
          "Flanders"
        ],
        "data": {
          "ios": {
            "alert": "Hello world!",
            "badge": 1,
            "sound": "default"
          },
          "android": {
            "alert": "Hello world!"
          }
        }
      }' \
  http://api.cwork.co/pushes

Classes

Classes e Objetos permitem o armazenamento de dados e a recuperação desses dados de maneira simples e rápida. No caso de aplicações móveis, por exemplo, é possível armazenar os dados referentes ao uso da aplicação e posteriormente sincronizar estes dados em diferentes dispositivos, melhorando a experiência do usuário junto a sua aplicação.

POST /classes

Permite criar uma classe que servirá de base para a criação e manipulação de objetos. A criação de classes é um processo assíncrono, que pode durar alguns segundos. A resposta da requisição para criação de uma nova classe conterá o status da classe, que neste caso será creating. Para que objetos possam ser criados em uma determinada classe é necessário que o status desta seja active. Ou seja, após a criação de uma nova classe verifique (GET /classes/id) se ela já está ativa antes de criar objetos.

HTTP Request body:

{
  "name": "Car",
  "properties": {
    "brand": "string",
    "color": "string",
    "year": "number",
    "value": "number"
  }
}
Campo Descrição Mandatório
name Nome da classe. Sim
properties Propriedades da classe (nome/tipo). Sim

Os possíveis tipos das propriedades seguem a definição do padrão JSON, conforme tabela abaixo. Toda propriedade pode assumir o valor null independente do seu tipo.

  • number - inteiro ou decimal
  • string - texto entre aspas duplas
  • boolean - true ou false
  • array - entre colchetes
  • object - entre chaves

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP header Location: http://api.cwork.co/classes/1
HTTP body:
{
  "id": 1,
  "app_id": 5,
  "name": "Car",
  "status": "creating",
  "properties": {
    "brand": "string",
    "color": "string",
    "year": "number",
    "value": "number"
  },
  "created_at": "2014-04-19T14:44:19.912Z",
  "updated_at": "2014-04-19T14:44:19.912Z"
}

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Car",
        "properties": {
          "brand": "string",
          "color": "string",
          "year": "number",
          "value": "number"
        }
      }' \
  http://api.cwork.co/classes

GET /classes/<:class_id>

Permite a busca dos dados de uma determinada classe a partir do seu id (:class_id).

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": 1,
  "app_id": 5,
  "name": "Car",
  "status":"active",
  "properties": {
    "brand": "string",
    "color": "string",
    "year": "number",
    "value": "number"
  },
  "created_at": "2014-04-19T14:44:19.912Z",
  "updated_at": "2014-04-19T14:45:07.317Z"
}

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes/1

PATCH /classes/<:class_id>

Permite a atualização dos dados de uma determinada classe a partir do seu id (:class_id). A lista de propriedades da classe sempre será substituída pela nova lista recebida na requisição de atualização, a não ser que o atributo properties não seja enviado.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": 1,  
  "app_id": 5,
  "name": "Car",
  "properties": {
    "brand": "string",
    "model": "string",
    "color": "string",
    "year": "number",
    "value": "number",
    "sold": "boolean"
  },
  "created_at": "2014-04-19T14:44:19.912Z",
  "updated_at": "2014-04-19T18:24:18.044Z"
}

Curl:

curl -i -X PATCH \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "properties": {
          "brand": "string",
          "model": "string",
          "color": "string",
          "year": "number",
          "value": "number",
          "sold": "boolean"
        }
      }' \
  http://api.cwork.co/classes/1

GET /classes

Permite listar as classes relacionados à aplicação.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP Body:
[
  {
    "id": 1,
    "app_id": 5,
    "name": "Car",
    "status":"active",
    "properties": {
      "brand": "string",
      "model": "string",
      "color": "string",
      "year": "number",
      "value": "number",
      "sold": "boolean"
    },
    "created_at": "2014-04-19T14:44:19.912Z",
    "updated_at": "2014-04-19T18:24:18.044Z"
  },
  {
    "id": 2,
    "app_id": 5,
    "name": "Home",
    "status":"active",
    "properties": {
      "address": "string",
      "value": "number",
      "sold": "boolean"
    },
    "created_at": "2014-04-19T16:45:30.298Z",
    "updated_at": "2014-04-19T16:46:01.964Z"
  }
]

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes

DELETE /classes/<:class_id>

Permite remover uma determinada classe e todos os seus objetos a partir do seu id (:class_id).

HTTP Response:

Códido de estado HTTP: 204 No Content

Curl:

curl -i -X DELETE \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes/1

Objects

Objetos representam instâncias de uma determinada classe. Antes de criar objetos é necessário criar a classe desses objetos.

POST /classes/<:class_id>/objects

Permite criar um objeto como uma instância de uma determinada classe a partir do id (:class_id) desta classe.

HTTP Request body:

{
  "brand": "Tesla Motors",
  "model": "S",
  "color": "black",
  "year": 2014,
  "value": 63570,00,
  "sold": false
}

HTTP Response:

Códido de estado HTTP: 201 Created
HTTP header Location: http://api.cwork.co/classes/1/objects/eXV8eS4HolfJ6yQy0zgB4Q
HTTP body:
{
  "id": "eXV8eS4HolfJ6yQy0zgB4Q",
  "class_id": 1,
  "brand": "Tesla Motors",
  "model": "X",
  "color": "silver",
  "year": 2014,
  "value": 60200,
  "sold": false,
  "created_at": "2014-04-19T19:24:12+00:00",
  "updated_at": "2014-04-19T19:24:12+00:00"
}

Curl:

curl -i -X POST \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "brand": "Tesla Motors",
        "model": "S",
        "color": "black",
        "year": 2014,
        "value": 63570.00,
        "sold": false
      }' \
  http://api.cwork.co/classes/1/objects

GET /classes/<class_id>/objects/<object_id>

Permite a busca dos dados de um determinado objeto a partir do seu id (:object_id).

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
  "id": "eXV8eS4HolfJ6yQy0zgB4Q",
  "class_id": 1,
  "brand": "Tesla Motors",
  "model": "X",
  "color": "silver",
  "year": 2014,
  "value": 60200,
  "sold": false,
  "created_at": "2014-04-19T19:24:12+00:00",
  "updated_at": "2014-04-19T19:29:39+00:00"
}

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes/1/eXV8eS4HolfJ6yQy0zgB4Q

PATCH /classes/<class_id>/objects/<object_id>

Permite a atualização dos dados de um determinado objeto a partir do seu id (:object_id). Objetos que tenham alguma propriedade do tipo array ou object terão o valor dessa propriedade completamente substituído toda vez que um novo valor for recebido na requisição de atualização, a não ser que nenhum valor seja enviado.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
{
    "id": "eXV8eS4HolfJ6yQy0zgB4Q",
    "class_id": 1,
    "brand": "Tesla Motors",
    "model": "X",
    "color": "silver",
    "year": 2014,
    "value": 65000,
    "sold": false,
    "created_at": "2014-04-19T19:24:12+00:00",
    "updated_at": "2014-04-21T13:21:16+00:00"
}

Curl:

curl -i -X PATCH \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  -H 'Content-Type: application/json' \
  -d '{
        "value": 65000.00
      }' \
  http://api.cwork.co/classes/1/objects/eXV8eS4HolfJ6yQy0zgB4Q

GET /classes/<:class_id>/objects

Permite listar os objetos de uma determinada classe.

HTTP Response:

Códido de estado HTTP: 200 OK
HTTP body:
[
  {
    "id": "eXV8eS4HolfJ6yQy0zgB4Q",
    "class_id": 1,
    "brand": "Tesla Motors",
    "model": "X",
    "color": "silver",
    "year": 2014,
    "value": 60200,
    "sold": false,
    "created_at": "2014-04-19T19:24:12+00:00",
    "updated_at": "2014-04-19T19:29:39+00:00"
  },
  {
    "id": "GdaXKNWHf9Ec-0O8-mpPeA",
    "class_id": 1,
    "brand": "Audi",
    "model": "A3 e-tron",
    "color": "black",
    "year": 2014,
    "value": 90700,
    "sold": false,
    "created_at": "2014-04-21T12:35:33+00:00",
    "updated_at": "2014-04-21T12:35:33+00:00"
  }
]

Curl:

curl -i -X GET \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes/1/objects

DELETE /classes/<class_id>/objects/<object_id>

Permite remover um determinado objeto de uma classe a partir do seu id (:object_id).

HTTP Response:

Códido de estado HTTP: 204 No Content

Curl:

curl -i -X DELETE \
  -H 'Clockwork-API-Key: ${API_KEY}' \
  -H 'Clockwork-Application-Id: ${APPLICATION_ID}' \
  -H 'Accept: application/json; api_version=1' \
  http://api.cwork.co/classes/1/objects/GdaXKNWHf9Ec-0O8-mpPeA