@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
JSON
{
"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"
}
]
}