openapi: 3.0.3 info: title: Mastercard Carbon Calculator Experience API description: >- The Carbon Calculator Experience API enables issuers to provide their cardholders with visibility into their environmental impact and carbon footprint based on their spending habits. This API also provides cardholders with the option to make donations in support of environmental causes like forest restoration projects and support a positive impact on the environment. contact: name: API Support url: https://developer.mastercard.com/support email: apisupport@mastercard.com version: 1.0.0 servers: - url: https://api.mastercard.com/cts description: Production - url: https://sandbox.api.mastercard.com/cts description: Sandbox tags: - name: Aggregate - name: Carbon - name: Dashboards - name: Deletions - name: Issuer description: Contains APIs which will be consumed by the Issuer's backend system. - name: Scores - name: Users paths: /issuers: get: tags: - Issuer summary: Mastercard Fetches the Issuer Details. description: >- Allows fetching the Issuer details onboarded on the Carbon Calculator Experience. This API returns the Issuer's available details like a supported account range, currency code, and country code along with the color theme. operationId: getIssuer responses: '200': $ref: '#/components/responses/IssuerProfileDetails' '401': $ref: '#/components/responses/IssuerUnauthorisedError' '404': $ref: '#/components/responses/IssuerNotFoundError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: tags: - Issuer summary: >- Mastercard Allows Issuer to Update the Issuer Details to the Carbon Calculator Experience Platform. description: >- Allows a registered Issuer to update the configuration details to the Carbon Calculator Experience API. operationId: updateIssuer requestBody: $ref: '#/components/requestBodies/IssuerConfiguration' responses: '200': $ref: '#/components/responses/IssuerProfile' '400': $ref: '#/components/responses/UpdateIssuerBadRequestError' '401': $ref: '#/components/responses/UpdateIssuerUnauthorisedError' '404': $ref: '#/components/responses/IssuerNotFoundError' '415': $ref: '#/components/responses/UnsupportedMediaTypeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /issuers/users: post: tags: - Issuer - Users summary: >- Mastercard Allows Issuer to Enroll Cardholders to the Carbon Calculator Experience Platform. description: > Used to enroll users for the Carbon Calculator Experience API so that they can track the carbon usage for their transactions and provides them with an option to donate towards tree plantation. **Note-** * If the issuer has opted for the Donation feature then the fields - *name, billing address, email, locale, cardholder name, card number, card base currency and card expiry date* fields are **mandatory** in the payload. * This endpoint uses the Mastercard payload encryption. Refer to the **[Payload Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#mastercard-encryption)** page for implementation details. operationId: userRegistration x-mastercard-api-encrypted: true requestBody: $ref: '#/components/requestBodies/UserProfile' responses: '200': $ref: '#/components/responses/UserReference' '400': $ref: '#/components/responses/UserEnrolmentBadRequestError' '401': $ref: '#/components/responses/UserEnrolmentUnauthorisedError' '404': $ref: '#/components/responses/IssuerNotFoundError' '415': $ref: '#/components/responses/UnsupportedMediaTypeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /issuers/users/{userid}: put: tags: - Issuer - Users summary: >- Mastercard Allows Issuer to Update Enrolled User Information Onto Carbon Calculator Experience Platform. description: Used to update the user's information for Carbon Calculator Experience. operationId: updateUser parameters: - $ref: '#/components/parameters/UserID' x-mastercard-api-encrypted: true requestBody: $ref: '#/components/requestBodies/UpdateUserProfile' responses: '200': $ref: '#/components/responses/UpdateUserReference' '400': $ref: '#/components/responses/UserEnrolmentBadRequestError' '401': $ref: '#/components/responses/UpdateUserUnauthorisedError' '404': $ref: '#/components/responses/IssuerNotFoundError' '415': $ref: '#/components/responses/UnsupportedMediaTypeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /issuers/users/{userid}/dashboards: get: tags: - Dashboards - Issuer - Users summary: >- Mastercard Used to Retrieve the Short-lived Url of a User's Dashboard to View Their Carbon Footprints and Contributions to Priceless Planet. description: >- It allows issuers to retrieve a short-lived URL for an enrolled user. An Issuer needs to load this URL within their application so that the user can view the dashboard in their preferred language. Currently, four languages are supported, including English, Spanish (Latin America), Swedish, and Polish. operationId: getAuthToken parameters: - $ref: '#/components/parameters/UserID' - $ref: '#/components/parameters/Lang' responses: '200': $ref: '#/components/responses/Dashboard' '400': $ref: '#/components/responses/DashboardBadRequestError' '401': $ref: '#/components/responses/DashboardsUnauthorisedError' '404': $ref: '#/components/responses/DashboardNotFoundError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /issuers/users/{userid}/aggregate-carbon-scores: get: tags: - Aggregate - Carbon - Issuer - Scores - Users summary: >- Mastercard Fetches Monthly Aggregate Carbon Score for the Transactions Made for the Current Month. description: >- Allows Issuers to retrieve an aggregate carbon footprint for the transactions done by a user. operationId: getAggregateCarbonScore parameters: - $ref: '#/components/parameters/UserID' responses: '200': $ref: '#/components/responses/AggregateCarbonScore' '400': $ref: '#/components/responses/AggregateCarbonScoreBadRequestError' '401': $ref: '#/components/responses/AggregateCarbonScoreUnauthorisedError' '404': $ref: '#/components/responses/AggregateCarbonScoreNotFoundError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /issuers/user-deletions: post: tags: - Deletions - Issuer - Users summary: Mastercard Delete One or More Users. description: >- operationId: deleteUsers requestBody: $ref: '#/components/requestBodies/UserIDs' responses: '202': $ref: '#/components/responses/UserIDs' '400': $ref: '#/components/responses/DeleteUserBadRequestError' '401': $ref: '#/components/responses/DeleteUserUnauthorisedError' '404': $ref: '#/components/responses/DeleteUserNotFoundError' '415': $ref: '#/components/responses/UnsupportedMediaTypeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: requestBodies: UserProfile: description: >- User's Personal and Card information needs to be registered to the Carbon Calculator Experience API. required: true content: application/json: schema: $ref: '#/components/schemas/UserProfile' IssuerConfiguration: description: >- Configuration details for Issuer which need to be updated. It should contain only those parameters which you want to update. required: true content: application/json: schema: $ref: '#/components/schemas/IssuerConfiguration' UserIDs: description: List of user ids required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/UserID' minItems: 1 maxItems: 500 examples: UserIDs: $ref: '#/components/examples/UserIDs' UpdateUserProfile: description: >- The request object for updating a enrolled user onto Carbon Calculator Experience platform. This endpoint uses the Mastercard payload encryption. Refer to the **[Payload Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#mastercard-encryption)** page for implementation details. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateUserProfile' schemas: IssuerProfileDetails: title: IssuerProfileDetails type: object description: Information about an Issuer as available on the server. required: - clientId - supportedAccountRange - status - email - currencyCode - countryCode - countryName - termsAndConditionURL - privacyNoticeURL - optOutURL - preferredTheme properties: clientId: type: string minLength: 1 maxLength: 200 pattern: ^[\w\d\-\_]{1,200} description: Unique Issuer identifier from the Mastercard Developers. example: fjl2fxzsYl1OpvxkBItC9nVw1PSQc_b-eQMcmQFg011ab4b5 customerId: type: string minLength: 1 maxLength: 200 pattern: ^[\w\d]{1,200} description: >- Unique Issuer identifier assigned by Mastercard which remains the same across all Mastercard systems. example: customerid1 supportedAccountRange: type: string pattern: ^[0-9]{4,8}(,[0-9]{4,8})*$ description: >- Comma separated account range must be between 4 and 8 supported by an Issuer. example: 534403,518145,518152,5403,5424 status: type: string minLength: 6 maxLength: 9 description: >- Status of an Issuer on the server. Possible values are Active and Suspended. example: ACTIVE email: type: string minLength: 1 maxLength: 100 description: Issuers email address example: xyz@abc.com currencyCode: $ref: '#/components/schemas/CurrencyCode' countryCode: title: countryCode type: string description: >- DE 19 (Acquiring Institution Country Code) is the code of the country where the acquiring institution is located. maxLength: 3 minLength: 3 example: USA countryName: $ref: '#/components/schemas/CountryName' privacyNoticeURL: type: string description: Privacy Notice URL. example: https://www.issuer.privacy-policy-url.html termsAndConditionURL: type: string description: Terms and conditions URL for the given user. example: https://www.issuer.term-and-conditions.html optOutURL: type: string description: OPT out URL for the given user. example: https://www.issuer.opt-out-url.html preferredTheme: $ref: '#/components/schemas/PreferredTheme' UserProfile: title: UserProfile type: object description: >- The request object for enrolling a new user to Carbon Calculator Experience API. required: - cardNumber - email - expiryInfo - cardBaseCurrency - cardholderName properties: email: $ref: '#/components/schemas/Email' name: $ref: '#/components/schemas/UserName' cardholderName: type: string description: Name of the card-holder. (format- First Name Last Name) minLength: 1 maxLength: 100 example: John Doe cardNumber: $ref: '#/components/schemas/CardNumber' cardBaseCurrency: $ref: '#/components/schemas/CurrencyCode' expiryInfo: $ref: '#/components/schemas/CardExpiry' billingAddress: $ref: '#/components/schemas/Address' locale: type: string description: User locale which is registered with Issuer. minLength: 1 maxLength: 100 example: en-US CurrencyCode: title: currencyCode type: string description: Currency code as per ISO 4217 pattern: ^[A-Za-z]{3}$ example: EUR CardExpiry: type: object properties: month: type: string example: '10' description: Denotes a month by when the card will be expired. pattern: ^[0-9]{2}$ year: type: string description: Denotes a year by when the card will be expired. example: '2024' pattern: ^[0-9]{4}$ title: CardExpiry CardNumber: type: string pattern: ^\d{16}$ description: Original payment card number in full. example: '5344035171224363' Address: type: object required: - countryCode - type properties: countryCode: description: Denotes three-character country code. type: string example: USA minLength: 3 maxLength: 3 locality: description: Neighborhood. type: string minLength: 3 maxLength: 30 example: Rly Station postalCode: description: >-

The postal code in the address is the ZIP code or equivalent and can be an alphanumeric value including whitespace (for example, PE7 8FT).
Note - Special characters and only whitespace characters are not allowed.

type: string example: '11746' maxLength: 12 state: type: string description: The state or region or province to which the address belongs. example: New York minLength: 3 maxLength: 20 city: type: string description: City. example: Brooklyn minLength: 3 maxLength: 20 line1: type: string description: Street Address line1. minLength: 3 maxLength: 20 example: 83 Mayfair Street line2: type: string description: Street Address line2. minLength: 3 maxLength: 20 example: Main Road line3: type: string description: Street Address line3. minLength: 3 maxLength: 20 example: Snake Hill Ave type: type: string description: Denotes the type of address. (For example, home or work) example: work minLength: 3 maxLength: 20 title: Address Email: type: object properties: type: type: string description: Denotes the type of email (For example, home) minLength: 1 maxLength: 10 example: home value: type: string description: Denotes email address. minLength: 5 maxLength: 100 example: John.Doe@mail.com title: Email UserName: type: object required: - firstName - lastName properties: firstName: type: string example: John minLength: 1 maxLength: 100 description: Denotes the first name of the user. lastName: type: string description: Denotes the last name of the user. minLength: 1 maxLength: 100 example: Doe title: Username UpdateUserProfile: title: UpdateUserProfile type: object description: >- The request object for updating a enrolled user onto Carbon Calculator Experience platform. required: - name - locale properties: name: $ref: '#/components/schemas/UserName' billingAddress: $ref: '#/components/schemas/Address' locale: type: string description: Updating User locale which is registered with issuer. minLength: 1 maxLength: 100 example: en-US IssuerProfile: title: IssuerProfile type: object description: Information about an Issuer as available on the server. required: - clientId - supportedAccountRange - status properties: clientId: type: string minLength: 1 maxLength: 200 pattern: ^[\w\d\-\_]{1,200} description: Unique Issuer identifier from the Mastercard Developer Portal. example: fjl2fxzsYl1OpvxkBItC9nVw1PSQc_b-eQMcmQFg011ab4b5 customerId: type: string minLength: 1 maxLength: 200 pattern: ^[\w\d]{1,200} description: >- Unique Issuer identifier assigned by Mastercard which remains the same across all Mastercard systems. example: customerid1 supportedAccountRange: type: string pattern: ^\s*[0-9]{4,8}(\s*,\s*[0-9]{4,8})*\s*$ description: >- Comma separated account range must be between 4 and 8 supported by an Issuer. example: 534403,518145,518152,5403,5424 status: type: string minLength: 6 maxLength: 9 description: >- Status of an Issuer on the server. Possible values are Active and Suspended. example: ACTIVE privacyNoticeURL: type: string description: Privacy Notice URL. example: https://www.issuer.privacy-policy-url.html termsAndConditionURL: type: string description: Terms and conditions URL for the given user. example: https://www.issuer.term-and-conditions.html optOutURL: type: string description: Opt out URL for the given user. example: https://www.issuer.opt-out-url.html preferredTheme: $ref: '#/components/schemas/PreferredTheme' IssuerConfiguration: title: IssuerConfiguration type: object description: Configuration details for an Issuer. properties: supportedAccountRange: type: string pattern: ^\s*[0-9]{4,8}(\s*,\s*[0-9]{4,8})*\s*$ description: >- Comma separated account range must be between 4 and 8 supported by an Issuer. example: 534403,518145,518152,5403,5424 privacyNoticeURL: type: string description: Privacy Notice URL. example: https://www.issuer.privacy-policy-url.html termsAndConditionURL: type: string description: Terms and conditions URL for the given user. example: https://www.issuer.term-and-conditions.html optOutURL: type: string description: Opt out URL for the given user. example: https://www.issuer.opt-out-url.html preferredTheme: $ref: '#/components/schemas/PreferredTheme' CountryName: type: string description: ISO 3166 country short name pattern: ^[a-zA-Z\s\\(\\),\\.]+$ minLength: 3 maxLength: 50 example: Brazil UserReference: title: UserReference type: object description: Successful user enrollment response required: - cardNumberLastFourDigits - status - userid properties: userid: $ref: '#/components/schemas/UserID' cardNumberLastFourDigits: type: string minLength: 4 maxLength: 4 pattern: ^\d{4}$ description: >- Last 4 digits of a full payment card number which were provided as enrollment request. example: '4363' status: type: string minLength: 6 maxLength: 7 description: >- Status of the user on Carbon Calculator Experience API. Possible values are ACTIVE and INACTIVE. example: ACTIVE UserID: type: string minLength: 36 maxLength: 36 pattern: ^[0-9A-Fa-f-]{36} description: >- Unique identifier for a user enrolled in the Carbon Calculator Experience platform. example: f5d88571-ac15-465a-a0d8-1ad1327b9a06 Lang: type: string description: Language for the issuer. example: en-US Dashboard: type: object required: - url - expiryInMillis properties: url: type: string description: >- This is the URL that needs to be rendered in web view with language code send by the issuer appended at the end of the URL. minLength: 1 maxLength: 5000 example: >- https://ppctwebview.b221.net/home/?auth_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c&lang=en-US expiryInMillis: type: string description: Denotes expiry limit for the URL. minLength: 1 maxLength: 10 example: '300000' AggregateCarbonScore: type: object required: - carbonEmissionInGrams - aggregateDate properties: carbonEmissionInGrams: type: string description: An aggregate value of CO2 emission in grams. minLength: 1 maxLength: 10 example: '3245' aggregateDate: type: string description: Denotes aggregate duration. minLength: 1 maxLength: 20 example: november-2020 ErrorWrapper: title: ErrorWrapper type: object description: The error response object gets returned in case of error. required: - Errors properties: Errors: $ref: '#/components/schemas/Errors' Errors: title: Errors type: object description: Error object which contains a list of error objects. required: - Error properties: Error: type: array items: $ref: '#/components/schemas/Error' example: [] Error: title: Error type: object description: Error object which contains details about a single error. required: - Source - ReasonCode - Description - Recoverable properties: Source: type: string description: >- The application name that generated this error. If an error is generated and returned by the gateway, then this field will have value as `Gateway`. Other possible values are `CARBON CALCULATOR`, `DONATE`, `CARBON_CALCULATOR_EXPERIENCE` or `PRICELESS PLANET`. minLength: 1 maxLength: 100 example: CARBON_CALCULATOR_EXPERIENCE ReasonCode: type: string description: >- A unique constant identifying the error case encountered during request processing. minLength: 1 maxLength: 100 example: INVALID_REQUEST_PARAMETER Description: type: string description: Short description of the `ReasonCode` field. minLength: 10 maxLength: 1000 example: >- One of the request parameters is invalid, try again with correct request. Recoverable: type: boolean description: >- Indicates whether this error will always be returned for this request, or retrying could change the outcome. example: false Details: type: string description: >- (Optional) Where appropriate, indicates detailed information about data received and calculated during the request processing, to help the user with diagnosing errors. minLength: 0 maxLength: 5000 example: email must not be null. PreferredTheme: type: object additionalProperties: type: string description: Color hex code to set preferred colors for webview. example: backgroundColor: '#FFFFFF' widgetBackgroundColor: '#FFFFFF' fontColor: '#000000' buttonColor: '#999999' barGraphColor: '#111111' buttonTextColor: '#FFFFFF' titleFontType: Mark Offc For MC titleFontSize: 28px subTitleFontType: Mark Offc For MC subTitleFontSize: 20px paragraphFontType: Mark Offc For MC paragraphFontSize: 15px buttonTextFontType: Mark Offc For MC buttonTextFontSize: 15px linkFontType: Mark Offc For MC linkFontSize: 15px parameters: UserID: in: path name: userid description: >- Unique identifier for a user enrolled into Carbon Calculator Experience platform. required: true example: f5d88571-ac15-465a-a0d8-1ad1327b9a06 schema: $ref: '#/components/schemas/UserID' Lang: in: query name: lang description: >- Language preference (en-US - English, es-cr - Spanish (Costa Rica), es-cl - Spanish (Chile), sv - Swedish, pl-PL - Polish (Poland)) required: false example: en-US schema: $ref: '#/components/schemas/Lang' responses: Dashboard: description: >- The response object after decryption contains a short-lived URL along with an authentication token and its expiry time. content: application/json: schema: $ref: '#/components/schemas/Dashboard' IssuerProfile: description: >- The response object that contains the latest information of an Issuer as available on the server. content: application/json: schema: $ref: '#/components/schemas/IssuerProfile' examples: UpdateIssuerDetails: $ref: '#/components/examples/UpdateIssuerDetails' IssuerProfileDetails: description: >- The response object contains the latest information of an Issuer as available on the server. content: application/json: schema: $ref: '#/components/schemas/IssuerProfileDetails' examples: IssuerDetails: $ref: '#/components/examples/IssuerDetails' UserReference: description: >- The response object contains Payment Card information after a successful registration. content: application/json: schema: $ref: '#/components/schemas/UserReference' UpdateUserReference: description: >- The response object that contains userID and Payment Card information after successful updation of users personal information. content: application/json: schema: $ref: '#/components/schemas/UserReference' AggregateCarbonScore: description: The response object contains an aggregation of carbon footprint. content: application/json: schema: $ref: '#/components/schemas/AggregateCarbonScore' examples: AggregateCarbonScores: $ref: '#/components/examples/AggregateCarbonScore' UserIDs: description: The response object contains a list of deleted user IDs content: application/json: schema: type: array items: $ref: '#/components/schemas/UserID' examples: DeletedUserIds: $ref: '#/components/examples/UserIDs' UserEnrolmentBadRequestError: description: >- This response code is returned when a request is invalid or data in the request is not valid or a card user is already registered on the server. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: BadRequestError: $ref: '#/components/examples/BadRequestError' InvalidNameError: $ref: '#/components/examples/InvalidUserNameError' InvalidFirstNameError: $ref: '#/components/examples/InvalidUserNameError' InvalidLastNameError: $ref: '#/components/examples/InvalidUserNameError' InvalidCardHolderNameError: $ref: '#/components/examples/InvalidCardHolderNameError' EncryptedDataLengthError: $ref: '#/components/examples/EncryptedDataLengthError' RequestDecryptionError: $ref: '#/components/examples/RequestDecryptionError' IssuerUnauthorisedError: description: >- This response code is returned when a user and the Issuer are unauthorized. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' UserEnrolmentUnauthorisedError: description: This response code is returned for unauthorized Issuer. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' UpdateUserUnauthorisedError: description: This response code is returned for unauthorized Issuer and User. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' UpdateUserNotAccessible: $ref: '#/components/examples/UpdateUserNotAccessible' UpdateIssuerBadRequestError: description: >- This response code is returned when either a request is invalid or data provided in the request is in invalid format. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerEmptyRequestBodyError: $ref: '#/components/examples/IssuerEmptyRequestBodyError' IssuerInvalidAccountRangeLengthError: $ref: '#/components/examples/IssuerInvalidAccountRangeLengthError' IssuerInvalidHexCodeError: $ref: '#/components/examples/IssuerInvalidHexCodeError' IssuerInvalidFontFormatError: $ref: '#/components/examples/IssuerInvalidFontFormatError' IssuerNullFontError: $ref: '#/components/examples/IssuerNullFontError' DashboardsUnauthorisedError: description: >- This response code is returned when a user and the Issuer are unauthorized. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' UserInactiveError: $ref: '#/components/examples/UserInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' UserTerminatedError: $ref: '#/components/examples/UserTerminatedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' UpdateIssuerUnauthorisedError: description: This response code is returned for unauthorized Issuer. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' DashboardNotFoundError: description: This response code is returned when a user or Issuer is not present. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UserNotFoundError: $ref: '#/components/examples/UserNotFoundError' IssuerNotFoundError: $ref: '#/components/examples/IssuerNotFoundError' AggregateCarbonScoreUnauthorisedError: description: This response code is returned when a user is terminated or inactive. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' UserInactiveError: $ref: '#/components/examples/UserInactiveError' UserTerminatedError: $ref: '#/components/examples/UserTerminatedError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' AggregateCarbonScoreNotFoundError: description: This response code is returned when a user or Issuer is not present. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UserNotFoundError: $ref: '#/components/examples/UserNotFoundError' IssuerNotFoundError: $ref: '#/components/examples/IssuerNotFoundError' DeleteUserUnauthorisedError: description: This response code is returned when a user is terminated or inactive. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerInactiveError: $ref: '#/components/examples/IssuerInactiveError' IssuerSuspendedError: $ref: '#/components/examples/IssuerSuspendedError' IssuerTerminatedError: $ref: '#/components/examples/IssuerTerminatedError' DeleteUserNotFoundError: description: This response code is returned when a user or Issuer is not present. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerNotFoundError: $ref: '#/components/examples/IssuerNotFoundError' DashboardBadRequestError: description: >- This response code is returned when a request is invalid or data in the request is not valid. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: InvalidUserIdError: $ref: '#/components/examples/InvalidUserIdError' AggregateCarbonScoreBadRequestError: description: >- This response code is returned when a request is invalid or data in the request is not valid. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: InvalidUserIdError: $ref: '#/components/examples/InvalidUserIdError' IssuerNotFoundError: description: >- This response code is returned when the server cannot find the account which has been used to call the API. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: IssuerNotFoundError: $ref: '#/components/examples/IssuerNotFoundError' UnsupportedMediaTypeError: description: >- This response code is returned when the MediaType in the request is other than application/json format. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UnsupportedMediaTypeError: $ref: '#/components/examples/UnsupportedMediaTypeError' DeleteUserBadRequestError: description: >- This response code is returned when a request is invalid or data in the request is not valid. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UserCountError: $ref: '#/components/examples/UserCountError' InvalidUserIdLengthError: $ref: '#/components/examples/InvalidUserIdLengthError' examples: UserIDs: value: - 4ba581a55-bcea-4c3e-8e0f-9b4726e5e6d3 - c5d88571-ac15-465a-a0d8-1ad1327b9a06 UpdateIssuerDetails: value: clientId: fjl2fxzsYl1OpvxkBItC9nVw1PSQc_b-eQMcmQFg011ab4b5 customerId: '12345' supportedAccountRange: 534403,518145,518152,5403,5424 status: ACTIVE termsAndConditionURL: https://www.issuer.term-and-conditions.html privacyNoticeURL: https://www.issuer.privacy-policy-url.html optOutURL: https://www.issuer.opt-out-url.html preferredTheme: backgroundColor: '#FFFFFF' widgetBackgroundColor: '#FFFFFF' fontColor: '#000000' barGraphColor: '#111111' buttonColor: '#999999' buttonTextColor: '#FFFFFF' titleFontType: Mark Offc For MC titleFontSize: 28px subTitleFontType: Mark Offc For MC subTitleFontSize: 20px paragraphFontType: Mark Offc For MC paragraphFontSize: 15px buttonTextFontType: Mark Offc For MC buttonTextFontSize: 15px linkFontType: Mark Offc For MC linkFontSize: 15px AggregateCarbonScore: value: carbonEmissionInGrams: '32.45' aggregateDate: november-2020 IssuerDetails: value: clientId: fjl2fxzsYl1OpvxkBItC9nVw1PSQc_b-eQMcmQFg011ab4b5 customerId: '45678' issuerName: ABC Bank supportedAccountRange: 534403,518145,518152,5403,5424 status: ACTIVE email: xyz@abc.com currencyCode: USD countryCode: USA countryName: United States of America termsAndConditionURL: https://www.issuer.term-and-conditions.html privacyNoticeURL: https://www.issuer.privacy-policy-url.html optOutURL: https://www.issuer.opt-out-url.html preferredTheme: backgroundColor: '#FFFFFF' widgetBackgroundColor: '#FFFFFF' fontColor: '#000000' barGraphColor: '#111111' buttonColor: '#999999' buttonTextColor: '#FFFFFF' titleFontType: Mark Offc For MC titleFontSize: 28px subTitleFontType: Mark Offc For MC subTitleFontSize: 20px paragraphFontType: Mark Offc For MC paragraphFontSize: 15px buttonTextFontType: Mark Offc For MC buttonTextFontSize: 15px linkFontType: Mark Offc For MC linkFontSize: 15px UserNotFoundError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: USER_NOT_FOUND Description: >- We cannot find user details for provided userId. Kindly register the user through the enrollment process. Recoverable: false Details: >- Make sure the user is enrolled through /issuers/users API endpoint. RequestDecryptionError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: CRYPTO_ERROR Description: >- We are unable to decipher your request, kindly verify your request before trying again. If the problem persists then reach out to your Mastercard associate. Recoverable: false Details: '' BadRequestError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: 'Email must be in the format: xyz@mail.com' IssuerEmptyRequestBodyError: value: Errors: Error: - Source: Carbon-Calculator ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: Required request body is missing IssuerInvalidAccountRangeLengthError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: >- Each value in supportedAccountRange must be numeric and size should be between 4 and 8 IssuerInvalidHexCodeError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: The hex code supplied for color preference is invalid IssuerInvalidFontFormatError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: The font size should be in pixel format. For example, 15px. IssuerNullFontError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: The font type in request cannot be null. EncryptedDataLengthError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: encryptedData size must be between 128 and 54000 IssuerTerminatedError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: ACCOUNT_TERMINATED Description: >- Your account has been terminated, you won't be able to access any service. Kindly register yourself again. Recoverable: false Details: >- Your account has been terminated, you won't be able to access any service. Kindly register yourself again. UpdateUserNotAccessible: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: UPDATE_USER_NOT_ACCESSIBLE Description: >- You do not have permission to access this API. The Donate feature for your bank is disabled. Recoverable: false Details: >- You do not have permission to access this API. The Donate feature for your bank is disabled. InvalidUserIdError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: UserId should be of size 36 UnsupportedMediaTypeError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: UNSUPPORTED_MEDIA_TYPE Description: >- The requested media type is not supported, try again with supported media type. Recoverable: false Details: '' InvalidCardHolderNameError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: >- CardholderName must only contain alphanumeric (A-Z, a-z, 0-9), whitespace, and the characters ('), (,) and (') InvalidUserNameError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: >- Username must only contain alphanumeric (A-Z, a-z, 0-9) and the characters ('), (,) and (') UserInactiveError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: USER_INACTIVE Description: >- The user is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service. Recoverable: false Details: >- The user is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service. IssuerInactiveError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: ACCOUNT_INACTIVE Description: >- Your account is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service. Recoverable: false Details: >- Your account is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service. IssuerNotFoundError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: SERVICE_PROVIDER_NOT_FOUND Description: Service provider clientId is not Identified Recoverable: false Details: Client not found. UserCountError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: true Details: Request body should have at least 1 or not more than 500 userIds InvalidUserIdLengthError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: INVALID_REQUEST_PARAMETER Description: >- One of the request parameters is invalid, try again with correct request. Recoverable: false Details: userId must match "^[0-9A-Fa-f\-]{36}" IssuerSuspendedError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: ACCOUNT_SUSPENDED Description: >- Your account has been suspended temporarily, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service. Recoverable: false Details: >- Your account has been suspended temporarily, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service. UserTerminatedError: value: Errors: Error: - Source: CARBON CALCULATOR EXPERIENCE ReasonCode: USER_TERMINATE_IN_PROGRESS Description: >- User termination is in progress, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service. Recoverable: false Details: >- User termination is in progress, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service.