{"type":"api","title":"Create CDO Tenant","meta":{"id":"/apps/pubhub/media/cdo-api-documentation/1f1901a0cba75139a7316e33669e647a1720e6c2/9b0e4c9a-48cb-3530-a00a-1f32fbf2438c","info":{"title":"CDO API","description":"Use the documentation to explore the endpoints CDO has to offer","contact":{"name":"CDO TAC","email":"cdo.tac@cisco.com"},"version":"1.5.0"},"tags":[{"name":"Cloud-delivered FMC","x-displayName":"Cloud-delivered FMC"},{"name":"Remote Access Monitoring","x-displayName":"Remote Access Monitoring"},{"name":"Users","x-displayName":"Users"},{"name":"Search","x-displayName":"Search"},{"name":"ASA Access Rules","x-displayName":"ASA Access Rules"},{"name":"Access Groups","x-displayName":"Access Groups"},{"name":"Inventory","x-displayName":"Inventory"},{"name":"Connectors","x-displayName":"Connectors"},{"name":"Command Line Interface","x-displayName":"Command Line Interface"},{"name":"Change Requests","x-displayName":"Change Requests"},{"name":"AI Assistant","x-displayName":"AI Assistant"},{"name":"Tenant Management","x-displayName":"Tenant Management"},{"name":"Meta","x-displayName":"Meta"},{"name":"Changelogs","x-displayName":"Changelogs"},{"name":"Audit Logs","x-displayName":"Audit Logs"},{"name":"swagger-redirect-controller","x-displayName":"swagger-redirect-controller"},{"name":"Object Management","x-displayName":"Object Management"},{"name":"MSP","x-displayName":"MSP"},{"name":"Transactions","x-displayName":"Transactions"}],"openapi":"3.0.1","servers":[{"url":"https://edge.us.cdo.cisco.com/api/rest","description":"US"},{"url":"https://edge.eu.cdo.cisco.com/api/rest","description":"EU"},{"url":"https://edge.apj.cdo.cisco.com/api/rest","description":"APJ"},{"url":"https://edge.aus.cdo.cisco.com/api/rest","description":"AUS"},{"url":"https://edge.in.cdo.cisco.com/api/rest","description":"IN"},{"url":"https://edge.staging.cdo.cisco.com/api/rest","description":"Staging"},{"url":"https://edge.scale.cdo.cisco.com/api/rest","description":"Scale"},{"url":"https://edge.ci.cdo.cisco.com/api/rest","description":"CI"}],"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"spec":{"tags":["MSP"],"summary":"Create CDO Tenant","description":"Create a new tenant in CDO from an MSP Portal. This endpoint creates a tenant, adds the tenant to the MSP Portal. If the user creating the tenant is not an API-only user, the user is also added to the tenant. Note: This endpoint can only be executed by a super-admin in an MSP Portal. You can create no more than 1 tenant every 30 seconds. Additionally, you are limited to creating a total of 100 tenants: please speak to support to raise this limit.","operationId":"createTenant","requestBody":{"content":{"application/json":{"schema":{"required":["tenantName"],"type":"object","properties":{"tenantName":{"pattern":"[a-zA-Z0-9-_]{1,50}","type":"string","description":"The name of the tenant to create. The tenant name can only contain alphabets, numbers, -, and _, and is limited to 50 characters.","example":"acme-inc-usa"},"displayName":{"type":"string","description":"A human-readable display name of the tenant to create. Use this field only if you want the display name to be different from the name of the tenant.","example":"Acme Inc., United States offices"}},"$$ref":"#/components/schemas/MspCreateTenantInput"}}},"required":true},"responses":{"202":{"description":"CDO Transaction object that can be used to track the status of the tenant creation.","content":{"application/json":{"schema":{"type":"object","properties":{"tenantUid":{"type":"string","description":"The unique identifier of the tenant that the transaction triggered on.","format":"uuid","example":"5131daad-e813-4b8f-8f42-be1e241e2cdb"},"transactionUid":{"type":"string","description":"The unique identifier of the transaction triggered.","format":"uuid","example":"7131daad-e813-4b8f-8f42-be1e241e8cdb"},"entityUid":{"type":"string","description":"The unique identifier of the entity that the transaction is triggered on. This can be empty, for a transaction that is not tied to an entity, such as transactions which refresh RA VPN sessions.","format":"uuid","example":"f5f660d4-4b81-4374-877d-fbc4bee894e2"},"entityUrl":{"type":"string","description":"A URL to access the entity that the transaction is triggered on. This can also be empty","example":"https://edge.us.cdo.cisco.com/platform/public-api/v1/inventory/devices/f5f660d4-4b81-4374-877d-fbc4bee894e2"},"transactionPollingUrl":{"type":"string","description":"The URL to poll to track the progress of the transaction.","example":"https://edge.us.cdo.cisco.com/platform/v1/transactions/7131daad-e813-4b8f-8f42-be1e241e8cdb"},"submissionTime":{"type":"string","description":"The time (UTC; represented using the RFC-3339 standard) at which the transaction was triggered","format":"date-time","example":"2023-12-13T05:15:44Z"},"lastUpdatedTime":{"type":"string","description":"The time (UTC; represented using the RFC-3339 standard) at which the transaction status was last updated","format":"date-time","example":"2023-12-13T08:15:44Z"},"transactionDetails":{"type":"object","additionalProperties":{"type":"string","description":"Transaction details, if any"},"description":"Transaction details, if any"},"errorMessage":{"type":"string","description":"Transaction error message, if any"},"errorDetails":{"type":"object","additionalProperties":{"type":"string","description":"Transaction error details, if any"},"description":"Transaction error details, if any"},"transactionType":{"type":"string","description":"the type of the transaction","example":"ONBOARD_ASA","enum":["ONBOARD_ASA","ONBOARD_IOS","ONBOARD_DUO_ADMIN_PANEL","CREATE_FTD","ONBOARD_FTD_ZTP","REGISTER_FTD","DELETE_CDFMC_MANAGED_FTD","RECONNECT_ASA","READ_ASA","EXECUTE_CLI_COMMAND","DEPLOY_ASA_DEVICE_CHANGES","INDEX_TENANT","TERMINATE_DEVICE_RA_VPN_SESSIONS","REFRESH_RA_VPN_SESSIONS","TERMINATE_USER_RA_VPN_SESSIONS","CREATE_SDC","SEND_AI_ASSISTANT_MESSAGE","MSP_CREATE_TENANT","MSP_ADD_USERS_TO_TENANT","MSP_ADD_USER_GROUPS_TO_TENANT","MSP_ADD_EXISTING_TENANT","MSP_ENABLE_MULTICLOUD_DEFENSE","MSP_PROVISION_CDFMC"]},"cdoTransactionStatus":{"type":"string","description":"The status of the CDO transaction","example":"IN_PROGRESS","enum":["PENDING","IN_PROGRESS","DONE","ERROR"]}},"$$ref":"#/components/schemas/CdoTransaction"}}}},"400":{"description":"Invalid input provided. Check the response for details.","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","description":"A unique code that describes the error.","example":"INVALID_INPUT","enum":["INVALID_INPUT","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","CONFLICT","TOO_MANY_REQUESTS","SERVER_ERROR","PROXY_ERROR","BAD_REQUEST"]},"errorMsg":{"type":"string","description":"A human-readable error description in English.","example":"sample error"},"details":{"type":"object","additionalProperties":{"type":"object","description":"Additional details, if any, on the error","example":{}},"description":"Additional details, if any, on the error","example":{}}},"$$ref":"#/components/schemas/CommonApiError"}}},"$$ref":"#/components/responses/http400BadRequest"},"401":{"description":"Request not authorized.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"A human-readable error description in English.","example":"invalid_token"},"errorDescription":{"type":"string","description":"A human-readable error description in English.","example":"Your token is invalid"}},"$$ref":"#/components/schemas/AuthenticationError"}}},"$$ref":"#/components/responses/http401Unauthorised"},"403":{"description":"User does not have sufficient privileges to perform this operation.","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","description":"A unique code that describes the error.","example":"INVALID_INPUT","enum":["INVALID_INPUT","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","CONFLICT","TOO_MANY_REQUESTS","SERVER_ERROR","PROXY_ERROR","BAD_REQUEST"]},"errorMsg":{"type":"string","description":"A human-readable error description in English.","example":"sample error"},"details":{"type":"object","additionalProperties":{"type":"object","description":"Additional details, if any, on the error","example":{}},"description":"Additional details, if any, on the error","example":{}}},"$$ref":"#/components/schemas/CommonApiError"}}},"$$ref":"#/components/responses/http403Forbidden"},"409":{"description":"Conflict.","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","description":"A unique code that describes the error.","example":"INVALID_INPUT","enum":["INVALID_INPUT","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","CONFLICT","TOO_MANY_REQUESTS","SERVER_ERROR","PROXY_ERROR","BAD_REQUEST"]},"errorMsg":{"type":"string","description":"A human-readable error description in English.","example":"sample error"},"details":{"type":"object","additionalProperties":{"type":"object","description":"Additional details, if any, on the error","example":{}},"description":"Additional details, if any, on the error","example":{}}},"$$ref":"#/components/schemas/CommonApiError"}}},"$$ref":"#/components/responses/http409Conflict"},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"type":"object","properties":{"errorCode":{"type":"string","description":"A unique code that describes the error.","example":"INVALID_INPUT","enum":["INVALID_INPUT","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","CONFLICT","TOO_MANY_REQUESTS","SERVER_ERROR","PROXY_ERROR","BAD_REQUEST"]},"errorMsg":{"type":"string","description":"A human-readable error description in English.","example":"sample error"},"details":{"type":"object","additionalProperties":{"type":"object","description":"Additional details, if any, on the error","example":{}},"description":"Additional details, if any, on the error","example":{}}},"$$ref":"#/components/schemas/CommonApiError"}}}}},"security":[{"bearerAuth":[]}],"__originalOperationId":"createTenant","method":"post","path":"/v1/msp/tenants/create"}}