OutSystems Native Mobile Configurations API

The NativeMobileConfigurations API from OutSystems — 2 operation(s) for nativemobileconfigurations.

OpenAPI Specification

outsystems-nativemobileconfigurations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Native Mobile Build Native Mobile Configurations API
  description: 'API for building and managing native mobile applications.

    '
  version: v1
servers:
- url: https://ODC_PORTAL_DOMAIN/api/native-mobile-builds/v1
  description: Replace ODC_PORTAL_DOMAIN with the domain of your organization.
- url: https://{odc-portal-domain}/api/native-mobile-builds/v1
  description: Replace {odc-portal-domain} with the domain of your organization.
  variables:
    odc-portal-domain:
      default: ODC_PORTAL_DOMAIN
      description: The domain of your organization
security:
- {}
tags:
- name: NativeMobileConfigurations
paths:
  /environments/{environmentKey}/applications/{applicationKey}/configurations/android:
    get:
      tags:
      - NativeMobileConfigurations
      summary: Returns the deployed platform-specific native configuration for a given Android application
      description: 'The response includes all the necessary information to build and deploy an Android native mobile application,

        such as keystore files and other related configurations.


        Rate Limit: 100 requests per minute


        API Client needs the **Configuration management > View configurations** permission.'
      operationId: GET_NativeBuildConfigurations_GetAndroidMobileConfiguration
      parameters:
      - name: environmentKey
        in: path
        description: Environment key
        required: true
        schema:
          type: string
          format: uuid
      - name: applicationKey
        in: path
        description: Application key
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Android configuration details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AndroidBuildConfigurationResult'
        '401':
          description: Not authorized to perform the requested operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The specified environment or application does not exist, or there is no mobile configuration deployed for the specified application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: "Too Many Requests. The rate limit for viewing mobile configurations has been exceeded. \nRate Limit: 100 requests per minute"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Configuration management > View configurations** permission.
    patch:
      tags:
      - NativeMobileConfigurations
      summary: Updates the Native Mobile Configuration for Android Applications
      description: 'Allows modifying keystore files and other related settings required for building and deploying the application.

        Only the fields provided in the request body are updated; omitted fields remain unchanged.


        Rate Limit: 10 requests per minute


        API Client needs the **Configuration management > Edit asset configurations** permission.'
      operationId: PATCH_NativeBuildConfigurations_UpdateMobileAndroidConfiguration
      parameters:
      - name: environmentKey
        in: path
        description: Environment key
        required: true
        schema:
          type: string
          format: uuid
      - name: applicationKey
        in: path
        description: Application key
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Mobile Configuration update payload
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/AndroidBuildConfigurationRequest'
              description: Result payload model for native Android Build configurations
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/AndroidBuildConfigurationRequest'
              description: Result payload model for native Android Build configurations
        required: true
      responses:
        '204':
          description: Mobile configuration updated successfully.
        '401':
          description: Not authorized to perform the requested operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The specified environment or application does not exist, or there is no mobile configuration deployed for the specified application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: "Too Many Requests. The rate limit for editing mobile configurations has been exceeded. \nRate Limit: 10 requests per minute"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Configuration management > Edit asset configurations** permission.
  /environments/{environmentKey}/applications/{applicationKey}/configurations/ios:
    get:
      tags:
      - NativeMobileConfigurations
      summary: Returns the deployed native configuration for a given iOS application
      description: 'The response includes all the necessary information to build and deploy an iOS native mobile application,

        such as certificates, provisioning profiles, and other related configurations.


        Rate Limit: 100 requests per minute


        API Client needs the **Configuration management > View configurations** permission.'
      operationId: GET_NativeBuildConfigurations_GetIosMobileConfiguration
      parameters:
      - name: environmentKey
        in: path
        description: Environment key
        required: true
        schema:
          type: string
          format: uuid
      - name: applicationKey
        in: path
        description: Application key
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: iOS configuration details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IosBuildConfigurationResult'
        '401':
          description: Not authorized to perform the requested operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The specified environment or application does not exist, or there is no mobile configuration deployed for the specified application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: "Too Many Requests. The rate limit for viewing mobile configurations has been exceeded. \nRate Limit: 100 requests per minute"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Configuration management > View configurations** permission.
    patch:
      tags:
      - NativeMobileConfigurations
      summary: Updates the Native Mobile Configuration for iOS Applications
      description: 'Allows modifying certificates, provisioning profiles, and other related settings required for building and deploying the application.

        Only the fields provided in the request body are updated; omitted fields remain unchanged.


        Rate Limit: 10 requests per minute


        API Client needs the **Configuration management > Edit asset configurations** permission.'
      operationId: PATCH_NativeBuildConfigurations_UpdateMobileIosConfiguration
      parameters:
      - name: environmentKey
        in: path
        description: Environment key
        required: true
        schema:
          type: string
          format: uuid
      - name: applicationKey
        in: path
        description: Application key
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Mobile Configuration update payload
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/IosBuildConfigurationRequest'
              description: Request payload model for native IOS Build configurations
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/IosBuildConfigurationRequest'
              description: Request payload model for native IOS Build configurations
        required: true
      responses:
        '204':
          description: Mobile configuration updated successfully.
        '401':
          description: Not authorized to perform the requested operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: The specified environment or application does not exist, or there is no mobile configuration deployed for the specified application.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: "Too Many Requests. The rate limit for editing mobile configurations has been exceeded. \nRate Limit: 10 requests per minute"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-os-permissions: API Client needs the **Configuration management > Edit asset configurations** permission.
components:
  schemas:
    IosBuildConfigurationResult:
      required:
      - appIdentifier
      - buildType
      - certificate
      - certificateName
      - certificatePassword
      - mabsVersion
      - mobileFramework
      - provisioningProfile
      - provisioningProfileName
      type: object
      properties:
        certificate:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: IOS Signing Cert Reference
        certificateName:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: IOS Signing Cert Name
        certificatePassword:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: IOS Signing Cert Password
        provisioningProfile:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: IOS Provisioning Profile Reference
        provisioningProfileName:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: IOS Provisioning Profile Name
        appIdentifier:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: Application Identifier
        buildType:
          allOf:
          - $ref: '#/components/schemas/IosBuildTypeNullableConfig'
          description: Native Build Type
        mabsVersion:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: Mabs Version Number
        mobileFramework:
          allOf:
          - $ref: '#/components/schemas/MobileFrameworkNullableConfig'
          description: Mobile framework
      additionalProperties: false
      description: Result payload model for native IOS Build configurations
    AndroidBuildTypeNullableConfig:
      required:
      - dataType
      type: object
      properties:
        isSecret:
          type: boolean
          description: Date string for date field was last updated
          readOnly: true
        lastUpdateDate:
          type:
          - string
          - 'null'
          description: Date string for date field was last updated
          format: date-time
        value:
          allOf:
          - $ref: '#/components/schemas/AndroidBuildType'
          description: Config Value
        dataType:
          allOf:
          - $ref: '#/components/schemas/GenericConfigDataType'
          description: Value data type
      additionalProperties: false
      description: Get request basic config value
    IosBuildTypePatchConfig:
      type: object
      properties:
        value:
          allOf:
          - $ref: '#/components/schemas/IosBuildType'
          description: Config Value
      additionalProperties: false
      description: Patch request basic config value
    AndroidBuildConfigurationRequest:
      type: object
      properties:
        keystore:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Android Keystore Reference
        keystoreName:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Android Keystore Name
        keystorePassword:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Android Keystore Password
        alias:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Android Alias
        aliasPassword:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Android Alias Password
        appIdentifier:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Application Identifier
        buildType:
          allOf:
          - $ref: '#/components/schemas/AndroidBuildTypePatchConfig'
          description: Native Build Type
        mabsVersion:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Mabs Version Number
        mobileFramework:
          allOf:
          - $ref: '#/components/schemas/MobileFrameworkNullablePatchConfig'
          description: The framework that should be used when building mobile applications
      additionalProperties: false
      description: Result payload model for native Android Build configurations
    AndroidBuildType:
      enum:
      - Bundle
      - Debug
      - Release
      type: string
      description: Android Build type
    SecretConfig:
      required:
      - dataType
      type: object
      properties:
        lastUpdateDate:
          type:
          - string
          - 'null'
          description: Date string for date field was last updated
          format: date-time
        value:
          type:
          - string
          - 'null'
          description: Null Value
          readOnly: true
        dataType:
          allOf:
          - $ref: '#/components/schemas/GenericConfigDataType'
          description: Value data type
        isSecret:
          type: boolean
          description: Date string for date field was last updated
          readOnly: true
      additionalProperties: false
      description: Get request secret config value
    IosBuildTypeNullableConfig:
      required:
      - dataType
      type: object
      properties:
        isSecret:
          type: boolean
          description: Date string for date field was last updated
          readOnly: true
        lastUpdateDate:
          type:
          - string
          - 'null'
          description: Date string for date field was last updated
          format: date-time
        value:
          allOf:
          - $ref: '#/components/schemas/IosBuildType'
          description: Config Value
        dataType:
          allOf:
          - $ref: '#/components/schemas/GenericConfigDataType'
          description: Value data type
      additionalProperties: false
      description: Get request basic config value
    AndroidBuildConfigurationResult:
      required:
      - alias
      - aliasPassword
      - appIdentifier
      - buildType
      - keystore
      - keystoreName
      - keystorePassword
      - mabsVersion
      - mobileFramework
      type: object
      properties:
        keystore:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: Android Keystore Reference
        keystoreName:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: Android Keystore Name
        keystorePassword:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: Android Keystore Password
        alias:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: Android Alias
        aliasPassword:
          allOf:
          - $ref: '#/components/schemas/SecretConfig'
          description: Android Alias Password
        appIdentifier:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: Application Identifier
        buildType:
          allOf:
          - $ref: '#/components/schemas/AndroidBuildTypeNullableConfig'
          description: Native Build Type
        mabsVersion:
          allOf:
          - $ref: '#/components/schemas/StringConfig'
          description: Mabs Version Number
        mobileFramework:
          allOf:
          - $ref: '#/components/schemas/MobileFrameworkNullableConfig'
          description: Mobile framework
      additionalProperties: false
      description: Request payload model for native Android Build configurations
    AndroidBuildTypePatchConfig:
      type: object
      properties:
        value:
          allOf:
          - $ref: '#/components/schemas/AndroidBuildType'
          description: Config Value
      additionalProperties: false
      description: Patch request basic config value
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
          description: A URI reference that identifies the problem type.
        title:
          type:
          - string
          - 'null'
          description: A short, human-readable summary of the problem.
        status:
          type:
          - integer
          - 'null'
          description: The HTTP status code applicable to the problem.
          format: int32
        detail:
          type:
          - string
          - 'null'
          description: A human-readable explanation of the error.
        instance:
          type:
          - string
          - 'null'
          description: A URI that identifies the specific occurrence of the problem.
        traceId:
          type: string
          description: This field helps OutSystems support track and investigate specific error occurrences. Providing this identifier when reporting an issue allows for more precise and faster troubleshooting.
        errorCode:
          type: string
          description: This error code serves the purpose to communicate with OutSystems Support and help diagnose errors.
      description: A standardized error response as per RFC 7807 (Problem Details for HTTP APIs).
    GenericConfigDataType:
      enum:
      - Text
      - Integer
      - LongInteger
      - Decimal
      - Boolean
      - DateTime
      - Date
      - Time
      - PhoneNumber
      - Email
      - Currency
      - EntityIdentifierType
      - BinaryUrl
      type: string
      description: Type of configuration
    MobileFrameworkNullablePatchConfig:
      type: object
      properties:
        value:
          allOf:
          - $ref: '#/components/schemas/MobileFramework'
          description: Config Value
      additionalProperties: false
      description: Patch request basic config value
    StringPatchConfig:
      type: object
      properties:
        value:
          type:
          - string
          - 'null'
          description: Config Value
      additionalProperties: false
      description: Patch request basic config value
    IosBuildType:
      enum:
      - Development
      - AppStore
      - Adhoc
      - InHouse
      - Simulator
      type: string
      description: IOS Build type
    StringConfig:
      required:
      - dataType
      type: object
      properties:
        isSecret:
          type: boolean
          description: Date string for date field was last updated
          readOnly: true
        lastUpdateDate:
          type:
          - string
          - 'null'
          description: Date string for date field was last updated
          format: date-time
        value:
          type:
          - string
          - 'null'
          description: Config Value
        dataType:
          allOf:
          - $ref: '#/components/schemas/GenericConfigDataType'
          description: Value data type
      additionalProperties: false
      description: Get request basic config value
    IosBuildConfigurationRequest:
      type: object
      properties:
        certificate:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: IOS Signing Cert Reference
        certificateName:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: IOS Signing Cert Name
        certificatePassword:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: IOS Signing Cert Password
        provisioningProfile:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: IOS Provisioning Profile Reference
        provisioningProfileName:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: IOS Provisioning Profile Name
        appIdentifier:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Application Identifier
        buildType:
          allOf:
          - $ref: '#/components/schemas/IosBuildTypePatchConfig'
          description: Native Build Type
        mabsVersion:
          allOf:
          - $ref: '#/components/schemas/StringPatchConfig'
          description: Mabs Version Number
        mobileFramework:
          allOf:
          - $ref: '#/components/schemas/MobileFrameworkNullablePatchConfig'
          description: The framework that should be used when building mobile applications
      additionalProperties: false
      description: Request payload model for native IOS Build configurations
    MobileFramework:
      enum:
      - Capacitor
      - Cordova
      type: string
      description: This enum is used to specify which framework should be used when building mobile applications
    MobileFrameworkNullableConfig:
      required:
      - dataType
      type: object
      properties:
        isSecret:
          type: boolean
          description: Date string for date field was last updated
          readOnly: true
        lastUpdateDate:
          type:
          - string
          - 'null'
          description: Date string for date field was last updated
          format: date-time
        value:
          allOf:
          - $ref: '#/components/schemas/MobileFramework'
          description: Config Value
        dataType:
          allOf:
          - $ref: '#/components/schemas/GenericConfigDataType'
          description: Value data type
      additionalProperties: false
      description: Get request basic config value
  securitySchemes:
    bearerAuth:
      type: http
      description: Enter your bearer token in the format 'Bearer {token}'
      scheme: bearer
      bearerFormat: JWT