openapi: 3.2.0 info: title: Admin Account API description: Multi Tenancy Service REST APIs are used to create,update delete,fetch the Account and Account hierarchy. contact: name: Avaya API Team url: https://developers.avayacloud.com/onecloud-ccaas email: apiteam@avaya.com license: name: Avaya Software Development Kit (SDK) Software License Terms url: http://support.avaya.com/css/P8/documents/101038288 version: 1.0.1 servers: - url: '{protocol}://{server}{basePath}' description: Open API variables: protocol: enum: - https default: https server: default: HOST-REGION.api.avayacloud.com basePath: default: /api/admin/account/v1 security: - {} - BearerAuth: [] AppKey: [] tags: - name: Account description: APIs to manage Accounts. paths: /accounts: get: tags: - Account summary: List Accounts description: '**This API requires the Administrator role.** Lists the accounts based on the filter criteria provided. Filtering is supported on the following fields: * name * accountId * domainName * profileName * profileId * isDefault' operationId: listAccounts parameters: - name: pageNumber in: query description: The page number of the records to retrieve. Default value is 1 required: false schema: type: integer format: int32 example: 30 default: 1 minimum: 1 - name: pageSize in: query description: The max number of records to retrieve per page. Default value is 5,max value is 50. required: false schema: type: integer format: int32 example: 5 default: 5 minimum: 5 maximum: 50 - name: filter in: query required: false description: "Specifies details of a row filter.\n\nThe possible fields you can filter are\n* name\n* accountId\n\nThe allowed format:\n\n- Begins with the column name to be filtered, followed by a colon, (This will be used as Contains operator.) then:\n - Either an exact string to match, or\n - A string expression including the * wildcard character.\n - :{PREFIX}* will be used to find out word start with.\n - :*{POSTFIX} will be used to find out word end with\n - : will be used to match exact word\n- Begin with colmun name to be filtered, followed by a = operator. (this will be used to match exact string)\n" schema: type: string maxLength: 255 examples: exact: description: Example of filtering based on an exact string. value: name:SyncG prefix: description: Example of filtering based on a prefix string. value: name:SyncG* postfix: description: Example of filtering based on a postfix string. value: name:*SyncG - name: orderBy in: query required: false description: 'Field name on which sorting needs to be performed. The possible fields you ordered on * name * accountId Field Names are case-sensitive (should be written as it is in description). The default sorting order is name ascending. To specify descending order, a suffix " desc" should be added. For example, "name" for ascending or "name desc" for descending". ' schema: type: string maxLength: 255 examples: ascending: value: name descending: value: name desc responses: '200': description: List of accounts content: application/json: schema: $ref: '#/components/schemas/AccountPage' examples: AccountPage: $ref: '#/components/examples/AccountPage' '400': $ref: '#/components/responses/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /accounts/{accountId}: get: tags: - Account summary: Get Account description: '**This API requires the Account Administrator role.** Gets an account by ID.' operationId: getAccount parameters: - $ref: '#/components/parameters/accountId' responses: '200': description: Account details content: application/json: schema: $ref: '#/components/schemas/Account' examples: AccountDetails: $ref: '#/components/examples/AccountDetails' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' put: tags: - Account summary: Update Account description: '**This API requires the Account Administrator role.** Updates an account. This is a complete replacement of the existing Account. Changes to the fields: * `name` * `features` Will trigger asynchronous updates for ''name'',''features'' the status of which should be monitored via `/accounts:listStatuses`. The following fields must be unique otherwise a `HTTP 409 Conflict` will be returned: * `name`' operationId: updateAccount parameters: - $ref: '#/components/parameters/accountId' requestBody: $ref: '#/components/requestBodies/AccountUpdateDetails' responses: '202': description: Account update request accepted content: application/json: schema: $ref: '#/components/schemas/Account' examples: AccountDetails: $ref: '#/components/examples/AccountDetails' '400': $ref: '#/components/responses/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' /accounts:listStatuses: post: tags: - Account summary: List Account Statuses description: '**This API requires the Account Administrator role.** Lists the current statuses for the given accounts.' operationId: listAccountStatuses requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountIdList' examples: Request-Account-Statuses: $ref: '#/components/examples/AccountStatusesRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AccountStatusResponse' examples: Account-Statuses: $ref: '#/components/examples/AccountStatuses' Failed-Account-Statuses: $ref: '#/components/examples/FailedAccountStatuses' InProgress-Account-Statuses: $ref: '#/components/examples/InProgressAccountStatuses' '400': $ref: '#/components/responses/ErrorConstraintViolation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' components: schemas: CMVoiceFeature: description: Communication Managers Voice Feature type: object AccountFeatures: type: object description: Features associated to the account properties: voice: $ref: '#/components/schemas/VoiceFeature' chat: $ref: '#/components/schemas/DigitalChannelFeature' messaging: $ref: '#/components/schemas/MessagingFeature' email: $ref: '#/components/schemas/DigitalChannelFeature' ucs: $ref: '#/components/schemas/UcsFeature' recorder: $ref: '#/components/schemas/RecorderFeature' aci: $ref: '#/components/schemas/ACIFeature' bvr: $ref: '#/components/schemas/BVRFeature' matching: $ref: '#/components/schemas/MatchingFeature' outbound: $ref: '#/components/schemas/OutboundFeature' cmvoice: $ref: '#/components/schemas/CMVoiceFeature' automatedoutreach: $ref: '#/components/schemas/AutomatedOutreachFeature' advancedcmvoice: $ref: '#/components/schemas/AdvancedCMVoiceFeature' realtimevoicetranscription: $ref: '#/components/schemas/RealtimeVoiceTranscriptionFeature' UcsFeature: description: Uniform Communication Services type: object properties: provider: type: string example: ACO,MSTeams,AvayaSpaces readOnly: true description: Value of the provider. Supported values are ACO,MSTeams,AvayaSpaces maxLength: 255 AdvancedCMVoiceFeature: description: Advanced Communication Managers Voice Feature type: object Domain: type: object description: Unique domain name of a customer required: - domainName properties: domainName: type: string example: acme.com minLength: 3 maxLength: 255 pattern: ^((?!-)[A-Za-z0-9\p{L}-]{1,63}(?&£@$¥€`~?#%+*"\\=\[\]\-\_\.\!\|\ ]+$ domains: type: array maxItems: 50 items: $ref: '#/components/schemas/Domain' emergencyEmailAddresses: type: array maxItems: 10 items: type: string example: account1@acc.com minLength: 0 maxLength: 255 pattern: ^[a-zA-Z\p{L}0-9+-_.]+(?:\.[a-zA-Z\p{L}0-9+-_.]+)*@(?:[a-zA-Z\p{L}0-9-]+\.)+[a-zA-Z\p{L}]{2,6}$ description: Emergency Email Address of the Account isDefault: type: boolean readOnly: true example: false description: There will be only one tenant in the solution with this flag set to true. Default tenant is created when the service is first installed. accountSize: description: Maximum number of users that can be provisioned for an Account. The max value for this field is configured at a solution level. An Account Administrator can not modify this field for their own Account. type: integer format: int32 minimum: 1 example: 500 description: type: string description: Description of the account. minLength: 0 maxLength: 1024 addresses: type: array maxItems: 50 items: $ref: '#/components/schemas/Address' createdAt: type: string format: date-time example: '2021-11-13T20:25:39.534Z' readOnly: true accountProperties: type: array maxItems: 50 items: $ref: '#/components/schemas/AccountProperty' organizationNodeTypes: type: array maxItems: 50 description: Model of the account's organization structure. For example, Organization -> Location -> Department -> Team items: $ref: '#/components/schemas/OrganizationNodeType' profiles: type: array maxItems: 200 items: $ref: '#/components/schemas/Profile' features: $ref: '#/components/schemas/AccountFeatures' enabled: type: boolean description: A global flag to enable/disable customer's access. Some reasons to disable an account are unpaid bills, policy violations, incomplete setup, etc. readOnly: true example: true accountId: type: string readOnly: true minLength: 6 maxLength: 6 example: ABCDEF enabledFeatures: type: string readOnly: true maxLength: 1024 description: List of comma separated features that are enabled for the tenant. example: voice,email,messaging countryCode: type: string example: IN minLength: 2 maxLength: 2 description: Country code of the Account timezone: type: string example: Europe/Berlin minLength: 2 maxLength: 256 description: Timezone of the Account title: Account Address: type: object description: A real address and phone number for an Account. required: - addressName - streetNumber - streetName - countryCode - zip properties: addressName: type: string minLength: 1 maxLength: 32 pattern: ^[a-zA-Z\p{L}0-9]+([ ]*[a-zA-Z\p{L}0-9-\_\*\=\+\$\:\;\&\~\,\?\%\!\|\{\}\`\.\']+)*$ example: OfficeAddress addressId: type: string example: c8c2909d-75e9-484a-94c0-b7e8d29771fe minLength: 36 maxLength: 36 pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ streetNumber: type: string minLength: 1 maxLength: 16 example: E-11 streetName: type: string minLength: 2 maxLength: 128 example: Allstate Pkwy addressType: type: string enum: - OFFICE - APARTMENT - BASEMENT - BUILDING - DEPARTMENT - FLOOR - FRONT - KEY - LOBBY - LOT - LOWER - PENTHOUSE - PIER - REAR - ROOM - SIDE - SLIP - SPACE - STOP - SUITE - TRAILER - UNIT - UPPER example: OFFICE addressTypeNumber: type: string minLength: 0 maxLength: 64 example: 300A city: type: string minLength: 0 maxLength: 128 example: Markham state: type: string minLength: 1 maxLength: 3 example: 'ON' countryCode: type: string example: IN minLength: 2 maxLength: 2 description: Country code of the Country zip: type: string minLength: 4 maxLength: 16 example: L3R9T8 pattern: ^[A-Za-z0-9\p{L}_ -]*$ isDefault: type: boolean example: true description: An account can have multiple addresses. Unless specified by the administrator, the first one is marked as a default address. default: false Problem: type: object description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs RFC 7807 ' properties: type: type: string format: uri description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' default: about:blank example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: type: - string - 'null' description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized). ' example: Service Unavailable status: type: - integer - 'null' format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' minimum: 100 example: 503 exclusiveMaximum: 600 detail: type: - string - 'null' description: 'A human readable explanation specific to this occurrence of the problem. ' example: Connection to database timed out instance: type: - string - 'null' format: uri description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' violations: type: - array - 'null' description: 'A list of violations that occurred as a result of invalid data provided as part of a request. ' items: type: object properties: field: type: string description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body. ' example: accountId message: type: string description: 'A human readable explanation specific to this occurrence of the violation. ' example: must match "^[a-zA-Z]{6}$" code: type: integer format: int32 description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change. ' example: 20006 example: - field: emailAddress message: must not be null code: 20002 - field: accountId message: must match "^[a-zA-Z]{6}$" code: 20006 VoiceFeature: description: Voice feature object type: object properties: consult: type: boolean description: flag to enable/disable the consult feature in order to allow the consult call. default: true mpcSIPTrunk: type: string description: value of SIP Trunk selected in case of UCCC maxLength: 50 customSIPTrunk: type: string description: custom SIP Trunk value maxLength: 255 emergencyCallSipTrunk: type: string description: emergency call SIP trunk Name maxLength: 100 remotePartyHeader: type: boolean description: flag for Remote-Party-ID SIP header during transfer over BYOC Hybrid trunk default: false MatchingFeature: description: Matching feature type: object ACIFeature: description: ACI(Avaya Conversational Intelligence) feature type: object AccountFeatureStatus: description: Status of all features type: object properties: chat: $ref: '#/components/schemas/FeatureAction' messaging: $ref: '#/components/schemas/FeatureAction' email: $ref: '#/components/schemas/FeatureAction' voice: $ref: '#/components/schemas/FeatureAction' desktop: $ref: '#/components/schemas/FeatureAction' aci: $ref: '#/components/schemas/FeatureAction' bvr: $ref: '#/components/schemas/FeatureAction' ucs: $ref: '#/components/schemas/FeatureAction' matching: $ref: '#/components/schemas/FeatureAction' recorder: $ref: '#/components/schemas/FeatureAction' outbound: $ref: '#/components/schemas/FeatureAction' cmvoice: $ref: '#/components/schemas/FeatureAction' advancedcmvoice: $ref: '#/components/schemas/FeatureAction' automatedoutreach: $ref: '#/components/schemas/FeatureAction' realtimevoicetranscription: $ref: '#/components/schemas/FeatureAction' OrganizationNodeType: description: Type of node in a Account's organization structure. For example location, department, region, location, business division, team, etc. type: object properties: name: type: string example: Location minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9\p{L}\-\_\.\ ]+$ position: type: integer format: int32 example: 1 title: OrganizationNodeType AutomatedOutreachFeature: description: Automated Outreach Feature type: object AccountIdList: description: List of account Ids type: object properties: accountIds: type: array maxItems: 50 items: type: string example: ADFSET minLength: 6 maxLength: 6 example: - ADFSET - WSFSET description: List of account Ids OutboundFeature: description: Outbound Feature type: object MessagingFeature: type: object description: Digital Channel feature AccountProperty: description: Free format name value pair to add information to a account beyond its standard fields. type: object properties: name: type: string example: dnis minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9\p{L}\-\_\.\ ]+$ key: type: string example: dnis minLength: 1 maxLength: 255 pattern: ^[a-zA-Z0-9\p{L}\-\_\.\ ]+$ value: type: string example: '1234' maxLength: 255 title: AccountProperty AccountStatusResponse: description: Status of Accounts type: object properties: accountId: description: The unique 6 character id that represents the account. type: string example: AFSRFS minLength: 6 maxLength: 6 features: $ref: '#/components/schemas/AccountFeatureStatus' allOf: - $ref: '#/components/schemas/FeatureAction' FeatureAction: description: Feature Status and action type: object properties: action: type: string enum: - ADD - UPDATE - DELETE example: ADD description: Action done for the account feature readOnly: true status: type: string enum: - COMPLETED - IN_PROGRESS - FAILED - DELETED - DELETE_FAILED - DELETE_IN_PROGRESS example: COMPLETED readOnly: true message: type: string example: Feature added successfully readOnly: true Pagination: type: object properties: pageNumber: type: integer description: The current page number. pageSize: type: integer description: The max number of records that can be retrieved on this page. total: type: integer description: The total number of records. RealtimeVoiceTranscriptionFeature: description: Realtime Voice Transcription Feature RecorderFeature: description: Recorder Feature type: object BVRFeature: description: BVR(Basic Voice Recorder) feature type: object Profile: description: Unique ID of User Profile like Basic, Core, Power, Trial, etc. type: object required: - profileId properties: profileId: type: string example: ASEDFG minLength: 6 maxLength: 6 pattern: ^[a-zA-Z0-9\-\_\.\ ]+$ url: type: string example: /api/admin/user/v1/accounts/AVSDER/profiles/ASEDFG minLength: 1 maxLength: 255 name: type: string readOnly: true example: ASEDFG minLength: 0 maxLength: 255 title: Profile examples: InProgressAccountStatuses: description: List of Account statuses value: - action: ADD status: IN_PROGRESS message: Operation is in progress accountId: AFSDET features: chat: action: ADD status: COMPLETED message: Feature added successfully messaging: action: ADD status: COMPLETED message: Feature added successfully email: action: ADD status: COMPLETED message: Feature added successfully voice: action: ADD status: IN_PROGRESS message: Operation is in progress aci: action: ADD status: COMPLETED message: Feature added successfully bvr: action: ADD status: COMPLETED message: Feature added successfully cmvoice: action: ADD status: COMPLETED message: Feature added successfully advancedcmvoice: action: ADD status: COMPLETED message: Feature added successfully AccountUpdateDetails: description: Account Details value: name: SyncG domains: - domainName: avaya.com isDefault: true emergencyEmailAddresses: - account1@avaya.com accountSize: 10 description: Account for SyncG addresses: - addressName: Office addressId: 8be739b2-e4e3-411e-95aa-61e4c596e8a4 streetNumber: 12B streetName: East Street addressType: BASEMENT addressTypeNumber: 12A city: Pune state: MH countryCode: IN zip: 41103Z isDefault: true organizationNodeTypes: - name: Account position: 1 - name: Location position: 2 profiles: - profileId: AQXSWF url: /api/admin/user/v1/accounts/AVSDER/profiles/ASEDFG features: voice: consult: true chat: {} email: {} aci: {} bvr: {} ucs: provider: MSTeams,ACO recorder: {} outbound: {} automatedoutreach: {} messaging: {} realtimevoicetranscription: {} countryCode: IN timezone: Asia/Calcutta ServerError: description: Internal Server Error value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error title: Server Error status: 500 detail: An internal server error was encountered. ConstraintViolationError: description: Constraint Violation value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: Constraint Violation status: 400 detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section. violations: - field: accountId message: must match "^[a-zA-Z]{6}$" code: 20006 AccountStatusesRequest: description: Request for Account Statuses value: accountIds: - AQSWDE AccountDetails: description: Account Details value: url: /api/admin/account/v1/accounts/AQWSDE name: SyncG domains: - domainName: avaya.com isDefault: true emergencyEmailAddresses: - account1@avaya.com isDefault: false accountSize: 10 description: Account for SyncG addresses: - addressName: Office addressId: 8be739b2-e4e3-411e-95aa-61e4c596e8a4 streetNumber: 12B streetName: East Street addressType: BASEMENT addressTypeNumber: 12A city: Pune state: MH countryCode: IN zip: 41103Z isDefault: true createdAt: '2023-01-18T10:51:45.904Z' organizationNodeTypes: - name: Account position: 1 - name: Location position: 2 profiles: - profileId: AQXSWF url: /api/admin/user/v1/accounts/AVSDER/profiles/ASEDFG features: voice: consult: true chat: {} email: {} aci: {} bvr: {} ucs: provider: MSTeams,ACO recorder: {} outbound: {} messaging: {} cmvoice: {} automatedoutreach: {} advancedcmvoice: {} realtimevoicetranscription: {} enabled: true accountId: AQWSDE enabledFeatures: matching,voice,chatucs,recorder,outbound,automatedoutreach,realtimevoicetranscription countryCode: IN timezone: Asia/Calcutta AccountStatuses: description: List of Account statuses value: - action: ADD status: COMPLETED message: Completed successfully accountId: DAERCS features: chat: action: ADD status: COMPLETED message: Feature added successfully messaging: action: ADD status: COMPLETED message: Feature added successfully email: action: ADD status: COMPLETED message: Feature added successfully voice: action: ADD status: COMPLETED message: Feature added successfully aci: action: ADD status: COMPLETED message: Feature added successfully bvr: action: ADD status: COMPLETED message: Feature added successfully cmvoice: action: ADD status: COMPLETED message: Feature added successfully advancedcmvoice: action: ADD status: COMPLETED message: Feature added successfully UnauthorizedError: description: Forbidden value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized title: Unauthorized status: 401 detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis ForbiddenError: description: Forbidden value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden title: Forbidden status: 403 detail: According to the access control policy the current user and/or accountId does not have permission to access this resource. ConflictError: description: Conflict with the current state of the OrganizationNode value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#conflict title: Conflict status: 409 detail: Account with AccountName:SyncG already exists NotFoundError: description: Resource not found value: type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found title: Resource Not Found status: 404 detail: Account with AccountId:ASDAES not found. FailedAccountStatuses: description: List of Account statuses value: - action: ADD status: FAILED message: Operation failed accountId: ADESFR features: chat: action: ADD status: COMPLETED message: Feature added successfully messaging: action: ADD status: COMPLETED message: Feature added successfully email: action: ADD status: COMPLETED message: Feature added successfully voice: action: ADD status: COMPLETED message: Feature added successfully aci: action: ADD status: COMPLETED message: Feature added successfully bvr: action: ADD status: COMPLETED message: Feature added successfully cmvoice: action: ADD status: COMPLETED message: Feature added successfully advancedcmvoice: action: ADD status: COMPLETED message: Feature added successfully AccountPage: description: Page of accounts value: pagination: pageNumber: 1 pageSize: 10 total: 1 accounts: - url: /api/admin/account/v1/accounts/AQWSDE name: SyncG domains: - domainName: avaya.com isDefault: true emergencyEmailAddresses: - account1@avaya.com isDefault: false accountSize: 10 description: Account for SyncG addresses: - addressName: Office addressId: 8be739b2-e4e3-411e-95aa-61e4c596e8a4 streetNumber: 12B streetName: East Street addressType: BASEMENT addressTypeNumber: 12A city: Pune state: MH countryCode: IN zip: 41103Z isDefault: true createdAt: '2023-01-18T10:51:45.904Z' organizationNodeTypes: - name: Account position: 1 - name: Location position: 2 profiles: - profileId: AQXSWF url: /api/admin/user/v1/accounts/AVSDER/profiles/ASEDFG features: voice: consult: true chat: {} email: {} aci: {} bvr: {} ucs: provider: MSTeams,ACO recorder: {} outbound: {} messaging: {} automatedoutreach: {} realtimevoicetranscription: {} enabled: true accountId: AQWSDE countryCode: IN links: prev: https://example.avayacloud.com/api/admin/account/v1/accounts?pageNumber=1&pageSize=10 next: https://example.avayacloud.com/api/admin/account/v1/accounts?pageNumber=3&pageSize=10 responses: ErrorConstraintViolation: description: Constraint Violation content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ConstraintViolationError' InternalServerError: description: All other application errors content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ServerError' Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/UnauthorizedError' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ConflictError' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/NotFoundError' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ForbiddenError' parameters: accountId: name: accountId description: The unique 6 character internal id that represents the customer account. required: true in: path schema: type: string minLength: 6 maxLength: 6 pattern: ^[a-zA-Z]{6}$ example: ABCDEF requestBodies: AccountUpdateDetails: content: application/json: schema: $ref: '#/components/schemas/Account' examples: AccountDetails: $ref: '#/components/examples/AccountUpdateDetails' description: Account Update request object required: true securitySchemes: BearerAuth: type: http scheme: bearer description: This API uses Bearer Token Authorization Flow bearerFormat: JWT AppKey: type: apiKey in: header name: appkey description: This API needs an appKey as header x-explorer-enabled: false x-samples-languages: - curl - node - java - javascript - python - go