Coorpacademy Brands API

The Brands API from Coorpacademy — 6 operation(s) for brands.

Operations 9

GET /brands Brands #
POST /brands Create a new brand #
GET /brands/list Brands #
GET /brands/{id}/exist Check if brand exist #
POST /brands/{id}/metadatas extract brand sso config info from metadata.xml #
GET /brands/{id} Get an existing brand #
PUT /brands/{id} Update an existing brand #
DELETE /brands/{id} DELETE an existing brand #
POST /brands/{id}/migrate Migrate an existing brand #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coorpacademy-brands-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coorpacademy-brands-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API to manage CoorpAcademy brands
  version: 1.412.0
  title: Platform Brands API
servers:
- url: https://platform.coorpacademy.com/api/v1
tags:
- name: Brands
paths:
  /brands:
    get:
      tags:
      - Brands
      summary: Brands
      description: List of brands
      operationId: brandsGET
      parameters:
      - name: issuer
        in: query
        description: filter brands by issuer
        required: false
        schema:
          type: string
      security:
      - authentication: []
      responses:
        '200':
          description: An array of brands
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Brands'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
    post:
      tags:
      - Brands
      summary: Create a new brand
      description: Create a new brand
      operationId: brandsPOST
      security:
      - authentication: []
      responses:
        '200':
          description: Created brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Brand'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewBrand'
        description: A brand
        required: true
  /brands/list:
    get:
      tags:
      - Brands
      summary: Brands
      description: List of brands ids
      operationId: brandsListGET
      security:
      - authentication: []
      responses:
        '200':
          description: An array of brands
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsList'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
  /brands/{id}/exist:
    get:
      tags:
      - Brands
      summary: Check if brand exist
      description: Check if brand exist
      operationId: brandsIdExistGET
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
          pattern: ^[a-z][a-z0-9-]{0,39}[a-z0-9]$
      responses:
        '200':
          description: An existing status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Boolean'
        '404':
          description: An non-existing status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
  /brands/{id}/metadatas:
    post:
      tags:
      - Brands
      summary: extract brand sso config info from metadata.xml
      description: extract brand sso config info from metadata.xml. it does not creates server side object, it just parses xml & send a json config back
      operationId: brandsIdSSOPOST
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
          pattern: ^[a-z][a-z0-9-]{0,39}[a-z0-9]$
      responses:
        '200':
          description: un-XMLized metadata's info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Boolean'
        '404':
          description: An non-existing status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: metadata.xml content
        required: true
  /brands/{id}:
    get:
      tags:
      - Brands
      summary: Get an existing brand
      description: Get an existing brand
      operationId: brandsIdGET
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
      responses:
        '200':
          description: A brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Brand'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
    put:
      tags:
      - Brands
      summary: Update an existing brand
      description: Update an existing brand
      operationId: brandsIdPUT
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
      responses:
        '200':
          description: Updated brand
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Brand'
        '400':
          description: A validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: brand not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Brand'
        description: Body of the brand
        required: true
    delete:
      tags:
      - Brands
      summary: DELETE an existing brand
      description: DELETE an existing brand
      operationId: brandsDELETE
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
      - name: brandName
        in: header
        description: Id of the brand
        required: true
        schema:
          type: string
      responses:
        '202':
          description: delete brand by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Brand'
        '400':
          description: missing header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: brand not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: header brandName value is not the same as given id parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
  /brands/{id}/migrate:
    post:
      tags:
      - Brands
      summary: Migrate an existing brand
      description: Migrate an existing brand
      operationId: brandsIdMigratePOST
      security:
      - authentication: []
      parameters:
      - name: id
        in: path
        description: Id of the brand
        required: true
        x-example: digital
        schema:
          type: string
      - name: clusterFrom
        in: query
        description: Original cluster of brand
        required: true
        x-example: coorp-clust-web-2
        schema:
          type: string
      - name: clusterTo
        in: query
        description: Destination cluster the brand
        required: true
        x-example: coorp-clust-web-1
        schema:
          type: string
      responses:
        '200':
          description: Migration status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandMigrationStatus'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-swagger-router-controller: brands
components:
  schemas:
    OIDCPayload:
      type: object
      properties:
        auth:
          type: object
          properties:
            authorizationURL:
              type: string
            clientID:
              type: string
            clientSecret:
              type: string
            issuer:
              type: string
            scope:
              type: string
            tokenURL:
              type: string
            userInfoURL:
              type: string
            responseMode:
              type: string
            nonce:
              type: boolean
            skipUserProfile:
              type: boolean
            authorizationParams:
              type: object
              properties:
                resource:
                  type: string
        userMapping:
          $ref: '#/components/schemas/userMappingPayload'
    userMappingPayload:
      type: object
      properties:
        uniqueLogin:
          $ref: '#/components/schemas/UserMappingValue'
        emails:
          type: array
          items:
            type: object
            properties:
              value:
                $ref: '#/components/schemas/UserMappingValue'
        name:
          type: object
          properties:
            familyName:
              $ref: '#/components/schemas/UserMappingValue'
            givenName:
              $ref: '#/components/schemas/UserMappingValue'
        provider:
          $ref: '#/components/schemas/UserMappingValue'
        language:
          $ref: '#/components/schemas/UserMappingValue'
        providerInfos:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/UserMappingValue'
        roles:
          type: array
          items:
            $ref: '#/components/schemas/UserMappingValue'
        organizations:
          type: array
          items:
            type: object
            properties:
              name:
                $ref: '#/components/schemas/UserMappingValue'
              title:
                $ref: '#/components/schemas/UserMappingValue'
              branch':
                $ref: '#/components/schemas/UserMappingValue'
              businessUnit:
                $ref: '#/components/schemas/UserMappingValue'
              workingCountry:
                $ref: '#/components/schemas/UserMappingValue'
              workingCity:
                $ref: '#/components/schemas/UserMappingValue'
              boutiqueReferent:
                $ref: '#/components/schemas/UserMappingValue'
              boutique:
                $ref: '#/components/schemas/UserMappingValue'
              address1:
                $ref: '#/components/schemas/UserMappingValue'
              address2:
                $ref: '#/components/schemas/UserMappingValue'
              zipcode:
                $ref: '#/components/schemas/UserMappingValue'
              region:
                $ref: '#/components/schemas/UserMappingValue'
              role:
                $ref: '#/components/schemas/UserMappingValue'
              contractType:
                $ref: '#/components/schemas/UserMappingValue'
              grade:
                $ref: '#/components/schemas/UserMappingValue'
              entity:
                $ref: '#/components/schemas/UserMappingValue'
              lmsId:
                $ref: '#/components/schemas/UserMappingValue'
              extendedField1:
                $ref: '#/components/schemas/UserMappingValue'
              extendedField2:
                $ref: '#/components/schemas/UserMappingValue'
              extendedField3:
                $ref: '#/components/schemas/UserMappingValue'
    ImportPayload:
      type: object
      properties:
        users:
          type: object
          properties:
            template:
              type: string
    BrandMigrationStatus:
      type: object
      properties:
        message:
          type: string
          description: Message
        status:
          type: string
          description: Status of migration
        brand:
          type: string
          description: Brand migrated
        cluster:
          type: string
          description: cluster migrated to
    NewBrand:
      type: object
      properties:
        hostname:
          type: string
          pattern: ^[a-z][a-z0-9-]{0,39}[a-z0-9]$
          description: Web site host
          x-example: up
        skin:
          type: string
          description: Brand name used for skinning
          x-example: digital
      required:
      - hostname
    Slide:
      type: object
      properties:
        image:
          type: string
          description: Image url to be used as background for the slide
        align:
          type: string
          description: 'Text align on the slide. It should be one of these 3 values: ''left'', ''middle'', ''right'''
        style:
          type: string
          description: 'Color style for text on the slide. It should be one of these 2 values: ''light'', ''dark'''
    Boolean:
      type: object
      properties:
        value:
          type: boolean
    SSOPayload:
      type: object
      properties:
        enabled:
          type: boolean
        connectEnabled:
          type: boolean
        enableDefaultRoute:
          type: boolean
        type:
          type: string
          enum:
          - saml
          - oidc
        saml2:
          $ref: '#/components/schemas/SAMLPayload'
        oidc:
          $ref: '#/components/schemas/OIDCPayload'
    Brand:
      type: object
      properties:
        alias:
          type: string
          description: Unique name of the brand accross all etcd
        host:
          type: string
          description: Web site host
        payload:
          type: object
          $ref: '#/components/schemas/BrandPayload'
    Slider:
      type: object
      properties:
        start:
          type: object
          $ref: '#/components/schemas/Slide'
        resume:
          type: object
          $ref: '#/components/schemas/Slide'
        battle:
          type: object
          $ref: '#/components/schemas/Slide'
    Brands:
      type: array
      items:
        $ref: '#/components/schemas/Brand'
    BrandsList:
      type: array
      items:
        type: string
    SAMLPayload:
      type: object
      properties:
        authnRequestBinding:
          type: string
          enum:
          - HTTP-POST
          - HTTP-REDIRECT
        disableRequestedAuthnContext:
          type: boolean
        identifierFormat:
          type: string
        forceAuthn:
          type: boolean
        skipRequestCompression:
          type: boolean
        logoutUrl:
          type: string
        idpIssuer:
          type: string
        acceptedClockSkewMs:
          type: number
          minimum: 0
          maximum: 100000
        signatureAlgorithm:
          type: string
          enum:
          - sha1
          - sha256
          - sha512
        cert:
          type: string
        entryPoint:
          type: string
        userMapping:
          $ref: '#/components/schemas/userMappingPayload'
    Error:
      type: object
      properties:
        success:
          type: boolean
        id:
          type: string
        status:
          type: integer
          format: int32
        message:
          type: string
    BrandPayload:
      type: object
      properties:
        name:
          type: string
          description: Unique name of the brand
        description:
          type: string
          description: Description of the brand
        skin:
          type: string
          description: Brand name used for skinning
        moocName:
          type: string
          description: Name of the platform, used in the certification diploma
          x-example: Coorpacademy for digital
          default: Coorpacademy for digital
        teamName:
          type: string
          description: Name of the team behind the platform, used in emails
          x-example: Formation
          default: Formation
        teamEmail:
          type: string
          description: Email address, used in emails send by the application
          x-example: paul@coorpacademy.com
          default: paul@coorpacademy.com
        assistanceEmail:
          type: string
          description: Email address where requests regarding content would be sent
          x-example: assistance@coorpacademy.com
        contentCategoryName:
          type: string
          description: Name that will be used to categorize all the content created by your team
          x-example: custom
          default: custom
        sector:
          type: string
          description: Sector the company belongs to
          x-example: none
          default: none
        baseUrl:
          type: string
          description: The root site brand href
        defaultTimePerChapter:
          type: number
          description: default Time to complete a chapter
          x-example: 8
          default: 8
        sso:
          type: object
          $ref: '#/components/schemas/SSOPayload'
        language:
          type: object
          properties:
            default:
              type: string
              description: Default language
            supported:
              type: array
              description: Default language
              items:
                type: string
        import:
          type: object
          $ref: '#/components/schemas/ImportPayload'
        slider:
          type: object
          $ref: '#/components/schemas/Slider'
        autoPush:
          type: object
          properties:
            content-catalogue@cockpit-tutorial-course:
              type: boolean
              description: Activate tutorial course AutoPush
            content-catalogue@cockpit-catalog:
              type: boolean
              description: Activate coorpacademy catalog AutoPush
            content-cegos@cockpit-cegos:
              type: boolean
              description: Activate cegos catalog AutoPush
            content-catalogue@cockpit-escape-game:
              type: boolean
              description: Activate escape games AutoPush
            content-catalogue@cockpit-interactive-series:
              type: boolean
              description: Activate Interactive series AutoPush
            content-catalogue@cockpit-webinar:
              type: boolean
              description: Activate webinar AutoPush
            content-catalogue@cockpit-mandarine:
              type: boolean
              description: Activate mandarine AutoPush
            content-go1@cockpit-go1-prospect:
              type: boolean
              description: Activate go1 catalog (for Sales Team)
            content-catalogue@cockpit-faurecia-partners:
              type: boolean
              description: Activate faurecia partners AutoPush
            content-catalogue@cockpit-catalog-smb:
              type: boolean
              description: Activate catalog smb AutoPush
        emails:
          type: object
          properties:
            mandatory:
              type: object
              properties:
                welcome-import:
                  type: boolean
                  description: Activate welcome email for user flat import
                welcome-sso:
                  type: boolean
                  description: Activate welcome email for user SSO
                welcome-sign-up:
                  type: boolean
                  description: Activate welcome email for newly signed up user
        password:
          type: object
          properties:
            enforcePasswordRenewal:
              type: boolean
              description: Enforce password renewal policy
              x-example: true
            validityInDays:
              type: integer
              description: Number of days after which a password must be renewed
              x-example: 60
            mustChangePassword:
              type: boolean
              description: Force password renewal at first connection
              x-example: false
        dashboardSections:
          type: object
          additionalProperties:
            type:
            - object
            - 'null'
            properties:
              type:
                type: string
                enum:
                - default
                - theme
                - goal
                - skill
              order:
                type: integer
              display:
                type: boolean
        recommendations:
          type: object
          properties:
            limit:
              type: number
            nbCustom:
              type: number
        lms:
          type: object
          additionalProperties:
            type:
            - object
            - 'null'
            properties:
              enabled:
                type: boolean
              type:
                type: string
                enum:
                - XAPI
                - CSOD
                - SAP
                - WORKDAY
                - SCORMISATION
                - GO1
                - ORACLE
              endpoint:
                type: string
              proxyPathName:
                type: string
              clientId:
                type: string
              clientSecret:
                type: string
              materialTypeCourse:
                type: string
              materialTypeChapter:
                type: string
              materialTypeLevel:
                type: string
              materialTypeExternalContent:
                type: string
              provider:
                type: string
              course:
                type: boolean
              level:
                type: boolean
              chapter:
                type: boolean
              externalContent:
                type: boolean
              progression:
                type: boolean
              allowMultipleCompletedProgressions:
                type: boolean
                default: false
              subjectTitle:
                type: string
              tenantName:
                type: string
              watermark:
                type:
                - string
                - 'null'
              username:
                type: string
              password:
                type: string
              availabilities:
                type: boolean
              isKeywordsActivated:
                type: boolean
              offeringReport:
                type: string
              enrollmentReport:
                type: string
              topicId:
                type: string
              assessorId:
                type: string
              progressionRestreamDate:
                type: string
              availableLanguageSource:
                type: string
              supportedLanguages:
                type: array
                items:
                  type: string
              userFilter:
                type: object
                properties:
                  field:
                    type: string
                  allowedValues:
                    type: array
                    items:
                      type: string
                  diallowedValues:
                    type: array
                    items:
                      type: string
              customAvailabilities:
                type: array
                items:
                  type: object
                  properties:
                    __type:
                      type: string
                    IncludeSubs:
                      type: boolean
                    PreApproved:
                      type: boolean
                    RegisterUponApproval:
                      type: boolean
                    Id:
                      type: string
                    SubType:
                      type: string
              chapterDescription:
                type: string
              customSupportedLocales:
                type: object
                properties:
                  supported:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  default:
                    type: string
              customFields:
                type: object
                properties:
                  CONTACT:
                    type: string
                  SELF_RECORD_LRNGEVT:
                    type: string
                  CPNT_TYP_ID:
                    type: string
                  NOTACTIVE:
                    type: string
                  CPNT_ID:
                    type: string
                  CPNT_TITLE:
                    type: string
                  RTYP_ID:
                    type: string
                  DMN_ID:
                    type: string
                  CREDIT_HRS:
                    type: number
                  TGT_AUDNC:
                    type: string
                  SELF_ENRL:
                    type: string
                  USER_CAN_WAITLIST:
                    type: string
                  REV_DTE:
                    type: string
                    description: 'Date in format MMM-DD-YYYY hh:mm:ss A (for example : Nov-16-2020 11:30:51 AM )'
              apiType:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - EXPRESS_CLASS
                  facilitatorId:
                    type: number
              authentication:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                    - basic
                  username:
                    type: string
                  password:
                    type: string
              scopeUserId:
                type: string
              scopeCompanyId:
                type: string
              contactEmail:
                type: string
              sftp:
                type: object
                properties:
                  username:
                    type: string
                  password:
                    type: string
                  host:
                    type: string
                  path:
                    type: string
              titleTemplate:
                type: object
                properties:
                  course:
                    type:
                    - string
                    - 'null'
                    example: '{{title}} -suffix'
                  level:
                    type:
                    - string
                    - 'null'
                    example: '{{levelLocale}} {{title}} -suffix'
                  chapter:
                    type:
                    - string
                    - 'null'
                    example: '{{title}} -suffix'
                  externalContent:
                    type:
                    - string
                    - 'null'
                    example: '{{title}} -suffix'
              shortDescription:
                type: string
              prefixTitle:
                type: string
              ownedByPersonNumber:
                type: string
              globalAccessGroupNumber:
                type: string
              defaultCategory:
                type: string
              defaultOracleLanguage:
                type: string
              errorReportPath:
                type: string
              enableOneLanguagePerLo:
                type: boolean
              defaultUserFields:
                type: object
                description: Default user field values for GO1 and SCORMISATION user creation
                properties:
                  familyName:
                    type: string
                    description: Default family name for users
                    example: Doe
                  givenName:
                    type: string
                    description: Default given name for users
                    example: John
                  email:
                    type: string
                    format: email
                    description: Default email address for users
                    example: user@example.com
              authEndpoint:
                type: string
                description: GO1 authentication endpoint URL
              portalId:
                type: string
                description: GO1 portal identifier
              loType:
                type: string
                enum:
                - link
                - dynamic
                description: GO1 learning object type
              createUsers:
                type: boolean
                description: Enable automatic user creation in GO1
              progressionClientId:
                type: string
                description: GO1 progression client ID (optional)
              progressionClientSecret:
                type: string
                description: GO1 progression client secret (optional)
              progressionPortalId:
                type: string
                description: GO1 progression portal ID (optional)
              enrollmentEndpoint:
                type: string
                description: GO1 enrollment endpoint URL (optional)
        maintenance:
          type: object
          properties:
            enabled:
              type: boolean
            ip:
              type: array
              items:
                type: string
                x-example: 127.0.0.1
            url:
              type: string
        features:
          type: object
          properties:
            mobile:
              type: boolean
            customExternalContent:
              type: boolean
            scormification:
              type: boolean
            enableScormMultilang:
              type: boolean
            bulkImport:
              type: object
              properties:
                enabled:
                  type: boolean
                repository:
                  type: string
            myLearning:
              type: object
              properties:
                enabled:
                  type: boolean
                learnerFeatures:
                  type: boolean
        learningPriorities:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - skill
                - playlist
                - certificate
              ref:
                type: string
        microsoftTeams:
          type: object
          properties:
            enabled:
              type: boolean
            tid:
              type: string
            externalTeamsAuth:
              type: boolean
        widgets:
          type: object
          properties:
            stonly:
              type: object
              properties:
        

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