| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /apikeys | Create a new API key for the logged in user's company | Generates a new API key for the company of the currently logged in user and returns it. A company administrator can only create keys for their own company. |
|---|
"use strict";
export class ApiKeyResponse {
/** @param {{CompanyId?:string,ApiKey?:string,Active?:boolean,CreatedDate?:string,ExpiryDate?:string,ContactEmail?:string,Notes?:string,AllowedIpAddresses?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The company the API key belongs to */
CompanyId;
/**
* @type {string}
* @description The API key value to send in the x-api-key header */
ApiKey;
/**
* @type {boolean}
* @description Whether the key is active */
Active;
/**
* @type {string}
* @description When the key was created */
CreatedDate;
/**
* @type {?string}
* @description When the key expires, if ever */
ExpiryDate;
/**
* @type {string}
* @description Contact email registered for the key */
ContactEmail;
/**
* @type {string}
* @description Free text notes for the key */
Notes;
/**
* @type {string}
* @description Comma separated list of IP addresses the key is restricted to, if any */
AllowedIpAddresses;
}
export class CreateApiKey {
/** @param {{CompanyId?:string,ContactEmail?:string,Notes?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {?string}
* @description The company to create the API key for. Defaults to the logged in user's company. Only a SuperAdmin may specify a company other than their own; for other roles this value is ignored. */
CompanyId;
/**
* @type {string}
* @description Optional contact email to register for the key. Defaults to the logged in user's email. */
ContactEmail;
/**
* @type {string}
* @description Optional free text note for the key. */
Notes;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /apikeys HTTP/1.1
Host: testapi.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
ContactEmail: String,
Notes: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Active: False,
ExpiryDate: "0001-01-01T00:00:00",
ContactEmail: String,
Notes: String,
AllowedIpAddresses: String
}