UNPKG

@itentialopensource/adapter-apic

Version:

Cisco Application Policy Infrastructure Controller (Cisco APIC) is the unifying point of automation and management for the Application Centric Infrastructure (ACI) fabric.

802 lines (801 loc) 20.4 kB
{ "openapi": "3.0.3", "info": { "title": "Cisco ACI APIC REST API", "description": "Complete API specification for Cisco ACI APIC REST API operations with all 29 endpoints from the original Postman collection.\n\n**SSL Certificate Note**: Cisco ACI sandbox environments use self-signed certificates. For Itential Platform users, set \"rejectUnauthorized\": false in your TLS configuration.\n\n**Authentication Workflow**: First call /aaaLogin.json to get APIC-Cookie, then use the cookie in all subsequent requests.", "version": "1.0.0", "contact": { "name": "Cisco ACI API Support", "url": "https://developer.cisco.com/docs/aci/" } }, "servers": [ { "url": "https://sandboxapicdc.cisco.com/api", "description": "Cisco ACI Sandbox Environment" } ], "security": [ { "cookieAuth": [] } ], "paths": { "/aaaLogin.json": { "post": { "tags": ["Authentication"], "summary": "Login to APIC", "operationId": "login", "security": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginRequest" } } } }, "responses": { "200": { "description": "Successful authentication", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponse" } } } } } } }, "/aaaRefresh.json": { "get": { "tags": ["Authentication"], "summary": "Refresh Session", "operationId": "refreshSession", "responses": { "200": { "description": "Session refreshed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginResponse" } } } } } } }, "/aaaLogout.json": { "post": { "tags": ["Authentication"], "summary": "Logout", "operationId": "logout", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LogoutRequest" } } } }, "responses": { "200": { "description": "Successfully logged out" } } } }, "/class/fvTenant.json": { "get": { "tags": ["Tenant Operations"], "summary": "Get All Tenants", "operationId": "getAllTenants", "responses": { "200": { "description": "List of tenants" } } } }, "/mo/uni/tn-{tenantName}.json": { "get": { "tags": ["Tenant Operations"], "summary": "Get Specific Tenant", "operationId": "getTenant", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Tenant details" } } }, "post": { "tags": ["VRF Operations"], "summary": "Create Resources in Tenant", "operationId": "createTenantResource", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Resource created successfully" } } } }, "/mo/uni/tn-{tenantName}.json?rsp-subtree=full&rsp-prop-include=config-only": { "get": { "tags": ["Tenant Operations"], "summary": "Get Tenant with Full Subtree", "operationId": "getTenantWithFullSubtree", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Tenant with full configuration" } } } }, "/mo/uni.json": { "post": { "tags": ["Tenant Operations", "Complete Configuration Flow"], "summary": "Create Tenant or Complete Environment", "operationId": "createTenantOrEnvironment", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Resource created successfully" } } } }, "/class/fvCtx.json": { "get": { "tags": ["VRF Operations"], "summary": "Get All VRFs", "operationId": "getAllVRFs", "responses": { "200": { "description": "List of VRFs" } } } }, "/class/fvBD.json": { "get": { "tags": ["Bridge Domain Operations"], "summary": "Get All Bridge Domains", "operationId": "getAllBridgeDomains", "responses": { "200": { "description": "List of bridge domains" } } } }, "/mo/uni/tn-{tenantName}/relayp-{dhcpRelayPolicyName}.json": { "post": { "tags": ["Bridge Domain Operations"], "summary": "Configure DHCP Relay Policy", "operationId": "createDHCPRelayPolicy", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "dhcpRelayPolicyName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "DHCP relay policy created" } } } }, "/mo/uni/tn-{tenantName}/BD-{bdName}.json": { "post": { "tags": ["Bridge Domain Operations"], "summary": "Associate DHCP Relay Policy to BD", "operationId": "associateDHCPRelayToBD", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bdName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "DHCP relay policy associated" } } } }, "/class/fvAp.json": { "get": { "tags": ["Application Profile Operations"], "summary": "Get All Application Profiles", "operationId": "getAllApplicationProfiles", "responses": { "200": { "description": "List of application profiles" } } } }, "/class/fvAEPg.json": { "get": { "tags": ["EPG Operations"], "summary": "Get All EPGs", "operationId": "getAllEPGs", "responses": { "200": { "description": "List of EPGs" } } } }, "/node/class/fvAEPg.json": { "get": { "tags": ["EPG Operations"], "summary": "Get EPGs in Tenant", "operationId": "getEPGsInTenant", "parameters": [ { "name": "query-target-filter", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of EPGs in tenant" } } } }, "/mo/uni/tn-{tenantName}/ap-{appProfileName}.json": { "post": { "tags": ["EPG Operations"], "summary": "Create EPG with BD and VMM Association", "operationId": "createEPGWithVMM", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appProfileName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "EPG created successfully" } } } }, "/mo/uni/tn-{tenantName}/ap-{appProfileName}/epg-{epgName}.json": { "post": { "tags": ["EPG Operations"], "summary": "Associate EPG with VMM Domain", "operationId": "associateEPGWithVMM", "parameters": [ { "name": "tenantName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "appProfileName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "epgName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "EPG associated with VMM domain" } } } }, "/class/vmmDomP.json": { "get": { "tags": ["VMM Domain Operations"], "summary": "Get All VMM Domains", "operationId": "getAllVMMDomains", "responses": { "200": { "description": "List of VMM domains" } } } }, "/node/class/vmmDomP.json": { "get": { "tags": ["VMM Domain Operations"], "summary": "Get VMware VMM Domains", "operationId": "getVMwareVMMDomains", "parameters": [ { "name": "query-target-filter", "in": "query", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "List of VMware VMM domains" } } } }, "/class/fvnsVlanInstP.json": { "get": { "tags": ["VLAN Pool Operations"], "summary": "Get All VLAN Pools", "operationId": "getAllVLANPools", "responses": { "200": { "description": "List of VLAN pools" } } } }, "/mo/uni/infra/vlanns-[{vlanPoolName}]-dynamic.json": { "post": { "tags": ["VLAN Pool Operations"], "summary": "Create Dynamic VLAN Pool", "operationId": "createDynamicVLANPool", "parameters": [ { "name": "vlanPoolName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Dynamic VLAN pool created" } } }, "get": { "tags": ["VLAN Pool Operations"], "summary": "Get VLAN Pool Details", "operationId": "getVLANPoolDetails", "parameters": [ { "name": "vlanPoolName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "VLAN pool details" } } } }, "/mo/uni/infra/vlanns-[{vlanPoolName}]-static.json": { "post": { "tags": ["VLAN Pool Operations"], "summary": "Create Static VLAN Pool", "operationId": "createStaticVLANPool", "parameters": [ { "name": "vlanPoolName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "Static VLAN pool created" } } } }, "/mo/uni/vmmp-VMware/dom-{vmmDomainName}.json": { "post": { "tags": ["VLAN Pool Operations"], "summary": "Associate VLAN Pool with VMM Domain", "operationId": "associateVLANPoolWithVMM", "parameters": [ { "name": "vmmDomainName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "VLAN pool associated" } } }, "get": { "tags": ["VLAN Pool Operations"], "summary": "Get VMM Domain VLAN Pool Association", "operationId": "getVMMDomainVLANPoolAssociation", "parameters": [ { "name": "vmmDomainName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "VMM domain VLAN pool associations" } } } }, "/mo/uni/infra/vlanns-[{vlanPoolName}]-dynamic/from-[vlan-{vlanStart}]-to-[vlan-{vlanEnd}].json": { "post": { "tags": ["VLAN Pool Operations"], "summary": "Add VLAN Range to Existing Pool", "operationId": "addVLANRangeToPool", "parameters": [ { "name": "vlanPoolName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "vlanStart", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "vlanEnd", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object" } } } }, "responses": { "200": { "description": "VLAN range added" } } } } }, "components": { "securitySchemes": { "cookieAuth": { "type": "apiKey", "in": "cookie", "name": "APIC-cookie", "description": "Session cookie obtained from login" } }, "schemas": { "LoginRequest": { "type": "object", "required": ["aaaUser"], "properties": { "aaaUser": { "type": "object", "required": ["attributes"], "properties": { "attributes": { "type": "object", "required": ["name", "pwd"], "properties": { "name": { "type": "string", "description": "Username", "example": "admin" }, "pwd": { "type": "string", "description": "Password", "format": "password", "example": "password" } } } } } } }, "LoginResponse": { "type": "object", "properties": { "imdata": { "type": "array", "items": { "type": "object", "properties": { "aaaLogin": { "type": "object", "properties": { "attributes": { "type": "object", "properties": { "token": { "type": "string", "description": "Authentication token" } } } } } } } } } }, "LogoutRequest": { "type": "object", "required": ["aaaUser"], "properties": { "aaaUser": { "type": "object", "required": ["attributes"], "properties": { "attributes": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string", "description": "Username", "example": "admin" } } } } } } } } }, "tags": [ { "name": "Authentication", "description": "Authentication and session management operations" }, { "name": "Tenant Operations", "description": "Tenant management operations" }, { "name": "VRF Operations", "description": "VRF (Virtual Routing and Forwarding) operations" }, { "name": "Bridge Domain Operations", "description": "Bridge Domain and DHCP configuration operations" }, { "name": "Application Profile Operations", "description": "Application Profile management operations" }, { "name": "EPG Operations", "description": "Endpoint Group management operations" }, { "name": "VMM Domain Operations", "description": "Virtual Machine Manager domain operations" }, { "name": "VLAN Pool Operations", "description": "VLAN pool management operations" }, { "name": "Complete Configuration Flow", "description": "Complete end-to-end configuration workflows for common use cases" } ] }