OpenAPI: Difference between revisions

From MiRTA PBX documentation
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:


== OpenAPI Specification ==
== OpenAPI Specification ==
  The OpenAPI specification is available from:
 
  <pre>
  openapi.php
  openapi.php?spec=1
  openapi.php/openapi.json
  openapi.php/swagger.json
  </pre>
 
  The response is an OpenAPI 3.0.3 JSON document.
 
  == Authentication ==
 
  The API key can be provided in any of these ways.
 
  === Query Parameter ===
 
  <pre>
  openapi.php/extensions?tenant=TENANTCODE&key=APIKEY
  </pre>
 
  === Header ===
 
  <pre>
  X-API-Key: APIKEY
  </pre>
 
  === Bearer Token ===
 
  <pre>
  Authorization: Bearer APIKEY
  </pre>
 
== API Key Scope ==
 
=== Tenant API Key ===
 
When using a tenant-level API key, the <code>tenant</code> parameter is required.
 
<pre>
openapi.php/extensions?tenant=TENANTCODE&key=TENANT_API_KEY
</pre>
 
=== Global API Key ===
 
When using the global API key, <code>tenant</code> is optional.
 
If <code>tenant</code> is provided, only that tenant's extensions are returned.
 
If <code>tenant</code> is omitted, extensions from all tenants are returned.
 
<pre>
openapi.php/extensions?key=GLOBAL_API_KEY
</pre>
 
== List Extensions ==
 
=== Endpoint ===
 
<pre>
GET openapi.php/extensions
</pre>
 
Alternative compatibility format:
 
<pre>
openapi.php?object=extension&action=list
</pre>
 
=== Parameters ===

Revision as of 07:38, 25 May 2026

Overview

openapi.php is the JSON API endpoint based on the OpenAPI specification.

The API uses the existing MirtaPBX API keys:

  • Full API key: APIKEY
  • Read-only API key: READONLYAPIKEY

Both global and tenant-level keys are supported.

The first implemented API object is extension, with a list endpoint returning extension ID, number, name, and technology.

OpenAPI Specification

 The OpenAPI specification is available from:
 
  openapi.php
  openapi.php?spec=1
  openapi.php/openapi.json
  openapi.php/swagger.json
  
 The response is an OpenAPI 3.0.3 JSON document.
 
 == Authentication ==
 
 The API key can be provided in any of these ways.
 
 === Query Parameter ===
 
  openapi.php/extensions?tenant=TENANTCODE&key=APIKEY
  
 === Header ===
 
  X-API-Key: APIKEY
  
 === Bearer Token ===
 
  Authorization: Bearer APIKEY
  

API Key Scope

Tenant API Key

When using a tenant-level API key, the tenant parameter is required.

openapi.php/extensions?tenant=TENANTCODE&key=TENANT_API_KEY

Global API Key

When using the global API key, tenant is optional.

If tenant is provided, only that tenant's extensions are returned.

If tenant is omitted, extensions from all tenants are returned.

openapi.php/extensions?key=GLOBAL_API_KEY

List Extensions

Endpoint

GET openapi.php/extensions

Alternative compatibility format:

openapi.php?object=extension&action=list

Parameters