| 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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /apikeys HTTP/1.1
Host: api.bookmore.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateApiKey xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<ContactEmail>String</ContactEmail>
<Notes>String</Notes>
</CreateApiKey>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ApiKeyResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <Active>false</Active> <AllowedIpAddresses>String</AllowedIpAddresses> <ApiKey>00000000-0000-0000-0000-000000000000</ApiKey> <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId> <ContactEmail>String</ContactEmail> <CreatedDate>0001-01-01T00:00:00</CreatedDate> <ExpiryDate>0001-01-01T00:00:00</ExpiryDate> <Notes>String</Notes> </ApiKeyResponse>