Organizations are what rokka uses to group images together. A user can be part of multiple organizations. An organization is also part of the url to use the API and the rendering backend. It's a best practice to have one organization per backend that manages images. For example if you run two shops that might have overlapping images, having two separate organizations would be advisable.
| Attribute | Description |
|---|---|
| id | UUID, doesn't change |
| name | Websafe name to use in urls e.g. "rokka". Only small letters, numbers and dashes ([a-z0-9-]) are allowed. |
| display_name | A more pretty name that can be displayed e.g. "rokka.io" |
| billing_email | Email address for billing purposes |
With a user, you can create new organizations on the /organizations endpoint.
curl -H 'Content-Type: application/json' -X PUT 'https://api.rokka.io/organizations/awesomecompany' -d '{
"billing_email": "my.email@mail.com",
"display_name": "My Awesome Company"
}'
$client = \Rokka\Client\Factory::getUserClient();
$client->setCredentials('apiKey');
$organization = $client->createOrganization('awesomecompany', 'my.email@mail.com', 'My Awesome Company');
var_dump($organization);
Note the use of the websafe name as part of the url on where to put the request.
The return is the full organization object.
At the same time a membership relation is created, making you the admin of the new organization.
To retrieve the metadata, a simple GET request will do. Anyone with read rights can do so on this organization.
curl -X GET 'https://api.rokka.io/organizations/awesomecompany'
$client = \Rokka\Client\Factory::getUserClient();
$client->setCredentials('apiKey');
$organization = $client->getOrganization('awesomecompany');
var_dump($organization);
The return is the full organization object.