Apiman Organizations API

The Organizations API from Apiman — 57 operation(s) for organizations.

OpenAPI Specification

apiman-organizations-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: API Manager REST Actions Organizations API
  description: The API Manager REST API is used by the API Manager UI to get stuff done. You can use it to automate any API Management task you wish. For example, create new Organizations, Plans, Clients, and APIs.
  version: 3.1.0-SNAPSHOT
servers:
- url: /apiman
tags:
- name: Organizations
paths:
  /organizations/{organizationId}/apis:
    get:
      tags:
      - Organizations
      summary: List APIs
      operationId: listApis
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of APIs is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiSummaryBean'
        '404':
          description: If the Organization does not exist.
    post:
      tags:
      - Organizations
      summary: Create API
      operationId: createApi
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewApiBean'
        required: true
      responses:
        '200':
          description: If the API is successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBeanDto'
        '404':
          description: If the Organization does not exist.
  /organizations/{organizationId}/apis/{apiId}/versions/{version}/policies:
    get:
      tags:
      - Organizations
      summary: List All API Policies
      operationId: listApiPolicies_1
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Policies is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicySummaryBean'
        '404':
          description: If the API does not exist.
    post:
      tags:
      - Organizations
      summary: Add API Policy
      operationId: createApiPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPolicyBean'
      responses:
        '200':
          description: Full details about the newly added Policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyBean'
        '404':
          description: If the API does not exist.
  /organizations/{organizationId}/apis/{apiId}/versions:
    get:
      tags:
      - Organizations
      summary: List API Versions
      operationId: listApiVersions_1
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of API versions is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiVersionSummaryBean'
    post:
      tags:
      - Organizations
      summary: Create API Version
      operationId: createApiVersion
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewApiVersionBean'
      responses:
        '200':
          description: If the API version is created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiVersionBeanDto'
        '404':
          description: If the API does not exist.
        '409':
          description: If the API version already exists.
  /organizations/{organizationId}/clients:
    get:
      tags:
      - Organizations
      summary: List Clients
      operationId: listClients
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Clients is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientSummaryBean'
        '404':
          description: If the Organization does not exist.
    post:
      tags:
      - Organizations
      summary: Create Client
      description: Use this endpoint to create a new Client.It is important to also create an initial version of the Client (e.g. 1.0). This can either be done by including the 'initialVersion' property in the request, or by immediately following up with a call to Create Client Version If the former is done, then a first  Client version will be created automatically by this endpoint.
      operationId: createClient
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewClientBean'
      responses:
        '200':
          description: If the Client is successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientBean'
        '404':
          description: If the Organization does not exist.
  /organizations/{organizationId}/clients/{clientId}/versions/{version}/policies:
    get:
      tags:
      - Organizations
      summary: List All Client Policies
      operationId: listClientPolicies
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Policies is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicySummaryBean'
        '404':
          description: If the Client does not exist.
    post:
      tags:
      - Organizations
      summary: Add Client Policy
      operationId: createClientPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPolicyBean'
      responses:
        '200':
          description: If the Policy is successfully added.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyBean'
        '404':
          description: If the Client does not exist.
  /organizations/{organizationId}/clients/{clientId}/versions:
    get:
      tags:
      - Organizations
      summary: List Client Versions
      operationId: listClientVersions
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Client versions is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientVersionSummaryBean'
    post:
      tags:
      - Organizations
      summary: Create Client Version
      operationId: createClientVersion
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewClientVersionBean'
      responses:
        '200':
          description: If the Client version is created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientVersionBean'
        '404':
          description: If the Client does not exist.
        '409':
          description: If the Client version already exists.
  /organizations/{organizationId}/clients/{clientId}/versions/{version}/contracts:
    get:
      tags:
      - Organizations
      summary: List All Contracts for a Client
      operationId: getClientVersionContracts
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Contracts is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractSummaryBean'
        '404':
          description: If the Client is not found.
    post:
      tags:
      - Organizations
      summary: Create an API Contract
      description: Create a Contract between the Client and an API. In order to create a Contract, the caller must specify the Organization, ID, and Version of the API.Additionally, the caller must specify the ID of the plan it wants to use for the contract with the API.
      operationId: createContract
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewContractBean'
      responses:
        '200':
          description: If the Contract is successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractBean'
        '404':
          description: If the Client version does not exist.
    delete:
      tags:
      - Organizations
      summary: Break All Contracts
      operationId: deleteAllContracts
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the operation is successful.
        '404':
          description: If the Client does not exist.
  /organizations:
    post:
      tags:
      - Organizations
      summary: Create Organization
      description: Create a new Organization. This can be considered a type of namespace. APIs, Clients and Plans are defined within an organization. Using other API calls, you can add users to an organization and assign them fine-grained permissions
      operationId: createOrg
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewOrganizationBean'
      responses:
        '200':
          description: If the Organization was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationBean'
  /organizations/{organizationId}/plans:
    get:
      tags:
      - Organizations
      summary: List Plans
      operationId: listPlans
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Plans is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlanSummaryBean'
        '404':
          description: If the Organization does not exist.
    post:
      tags:
      - Organizations
      summary: Create Plan
      operationId: createPlan
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPlanBean'
      responses:
        '200':
          description: If the Plan is successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanBean'
        '404':
          description: If the Organization does not exist.
  /organizations/{organizationId}/plans/{planId}/versions/{version}/policies:
    get:
      tags:
      - Organizations
      summary: List All Plan Policies
      operationId: listPlanPolicies_1
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Plan version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Policies is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicySummaryBean'
        '404':
          description: If the Plan does not exist.
    post:
      tags:
      - Organizations
      summary: Add Plan Policy
      operationId: createPlanPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Plan version.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPolicyBean'
      responses:
        '200':
          description: If the Policy is successfully added.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyBean'
        '404':
          description: If the Plan does not exist.
  /organizations/{organizationId}/plans/{planId}/versions:
    get:
      tags:
      - Organizations
      summary: List Plan Versions
      operationId: listPlanVersions
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the list of Plan versions is successfully returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PlanVersionSummaryBean'
    post:
      tags:
      - Organizations
      summary: Create Plan Version
      operationId: createPlanVersion
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: planId
        in: path
        description: The Plan ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewPlanVersionBean'
      responses:
        '200':
          description: If the Plan version is created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanVersionBean'
        '404':
          description: If the Plan does not exist.
        '409':
          description: If the Plan version already exists.
  /organizations/{organizationId}/apis/{apiId}:
    get:
      tags:
      - Organizations
      summary: Get API By ID
      operationId: getApi
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the API is successfully returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBeanDto'
        '404':
          description: If the API does not exist.
    put:
      tags:
      - Organizations
      summary: Update API
      operationId: updateApi
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateApiBean'
      responses:
        '204':
          description: If the API is updated successfully.
        '404':
          description: If the API does not exist.
    delete:
      tags:
      - Organizations
      summary: Delete API
      operationId: deleteApi
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: If the API is updated successfully.
        '404':
          description: If the API does not exist.
        '409':
          description: If the API cannot be deleted.
  /organizations/{organizationId}/apis/{apiId}/versions/{version}/definition:
    get:
      tags:
      - Organizations
      summary: Get API Definition
      operationId: getApiDefinition_2
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the API definition is successfully returned.
        '404':
          description: If the API version does not exist.
    put:
      tags:
      - Organizations
      summary: Update API Definition
      operationId: updateApiDefinition
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: If the API definition was successfully updated.
        '404':
          description: If the API does not exist.
    post:
      tags:
      - Organizations
      summary: Update API Definition from URL
      operationId: updateApiDefinitionFromURL
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewApiDefinitionBean'
      responses:
        '204':
          description: If the API definition was successfully updated.
        '404':
          description: If the API does not exist.
    delete:
      tags:
      - Organizations
      summary: Remove API Definition
      operationId: deleteApiDefinition
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: If the API definition was successfully deleted.
        '404':
          description: If the API does not exist.
  /organizations/{organizationId}/apis/{apiId}/image:
    delete:
      tags:
      - Organizations
      summary: Delete API Image
      operationId: deleteApiImage
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: If the API is updated successfully.
        '404':
          description: If the API does not exist.
  /organizations/{organizationId}/apis/{apiId}/versions/{version}/policies/{policyId}:
    get:
      tags:
      - Organizations
      summary: Get API Policy
      operationId: getApiPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      - name: policyId
        in: path
        description: The Policy ID.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: If the Policy is successfully returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyBean'
        '404':
          description: If the API does not exist.
    put:
      tags:
      - Organizations
      summary: Update API Policy
      operationId: updateApiPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      - name: policyId
        in: path
        description: The Policy ID.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePolicyBean'
      responses:
        '204':
          description: If the Policy was successfully updated.
        '404':
          description: If the Policy does not exist.
    delete:
      tags:
      - Organizations
      summary: Remove API Policy
      operationId: deleteApiPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: apiId
        in: path
        description: The API ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The API version.
        required: true
        schema:
          type: string
      - name: policyId
        in: path
        description: The Policy ID.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: If the Policy was successfully deleted.
        '404':
          description: If the Policy does not exist.
  /organizations/{organizationId}/clients/{clientId}:
    get:
      tags:
      - Organizations
      summary: Get Client By ID
      description: Use this endpoint to retrieve information about a single Client by ID. This only returns information about the Client, not any particular version of the client.
      operationId: getClient
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If the Client is successfully returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientBean'
        '404':
          description: If the Client does not exist.
    put:
      tags:
      - Organizations
      summary: Update Client
      operationId: updateClient
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateClientBean'
      responses:
        '204':
          description: If the Client is updated successfully.
        '404':
          description: If the Client does not exist.
    delete:
      tags:
      - Organizations
      summary: Delete a client
      operationId: deleteClient
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID the client exists within
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The ClientApp ID to delete
        required: true
        schema:
          type: string
      responses:
        '204':
          description: If the Organization was successfully deleted
        '409':
          description: If the delete preconditions have not been met (i.e. sub-elements are still active, such as still-registered ClientVersions).
  /organizations/{organizationId}/clients/{clientId}/versions/{version}/policies/{policyId}:
    get:
      tags:
      - Organizations
      summary: Get Client Policy
      operationId: getClientPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      - name: policyId
        in: path
        description: The Policy ID.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: If the Policy is successfully returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyBean'
        '404':
          description: If the Client does not exist.
    put:
      tags:
      - Organizations
      summary: Update Client Policy
      operationId: updateClientPolicy
      parameters:
      - name: organizationId
        in: path
        description: The Organization ID.
        required: true
        schema:
          type: string
      - name: clientId
        in: path
        description: The Client ID.
        required: true
        schema:
          type: string
      - name: version
        in: path
        description: The Client version.
        required: true
        schema:
          type: string
      - name: policyId
        in: path
        description: The Policy ID.
        required: true
        schema:
          type: integer
  

# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apiman/refs/heads/main/openapi/apiman-organizations-api-openapi.yml