Wise profile API

A profile represents an identity that can send and receive money through Wise — either a personal profile (an individual) or a business profile (a company). Most API endpoints require a `profileId` parameter, which is the ID of either profile type.

OpenAPI Specification

wise-profile-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Wise Platform 3ds profile API
  version: ''
  description: "The Wise Platform API is a REST-based interface that enables programmatic access to Wise's payment infrastructure. All endpoints return JSON-formatted responses and use standard HTTP methods and status codes.\n{% admonition type=\"success\" name=\"New to wise?\" %}\n  We strongly recommend first reading our **[Getting Started Guide](/guides/developer/index.md)** to help you set up credentials and make your first call.\n{% /admonition %}\n\nBefore you begin {% .title-2 .m-t-5 %}\n\nTo use this API reference effectively, you should have:\n\n- Received Valid [API credentials from Wise](/guides/developer/auth-and-security/index.md) (Client ID and Client Secret)\n- Understand OAuth 2.0 authentication\n- Be familiar with RESTful API concepts\n\nCore API resources {% .title-2 .m-t-5 .m-b-0 %}\n\n| Resource | Purpose |\n|----------|---------|\n| **[Quote](/api-reference/quote)** | Exchange rate and fee calculations |\n| **[Recipient](/api-reference/recipient)** | Beneficiary account management |\n| **[Transfer](/api-reference/transfer)** | Payment creation and execution |\n| **[Balance](/api-reference/balance)** | Multi-currency account operations |\n| **[Profile](/api-reference/profile)** | Account ownership details |\n| **[Rate](/api-reference/rate)** | Current and historical exchange rates |\n\n**Not sure which workflow to build?**<br>\nStart with our [Integration Guides](/guides/product/send-money/use-cases/index.md) for step-by-step implementation examples.{% .m-t-3 .m-b-5 %}\n"
servers:
- url: https://api.wise.com
  description: Production Environment
- url: https://api.wise-sandbox.com
  description: Sandbox Environment
tags:
- name: profile
  x-displayName: Profiles
  description: 'A profile represents an identity that can send and receive money through Wise — either a personal profile (an individual) or a business profile (a company). Most API endpoints require a `profileId` parameter, which is the ID of either profile type.


    '
paths:
  /v1/profiles:
    post:
      operationId: profileCreateV1
      summary: Create a profile (V1)
      description: '{% admonition type="warning" %}

        This endpoint is deprecated. Please see the [Create Personal Profile](/api-reference/profile/profilepersonalcreate) and [Create Business Profile](/api-reference/profile/profilebusinesscreate) v2 endpoints.

        {% /admonition %}


        Create personal or business user profile. Set `type` to `"personal"` or `"business"`.


        One person cannot have multiple active duplicate user profiles, creating multiple profiles with the same details will fail. When this happens, you should show an error message to the user informing them that they may have an existing Wise account. The customer should then be allowed to [link to an existing Wise account](/guides/product/kyc/partner-kyc/accessing-accounts#link-account).


        {% admonition type="info" %}

        For personal profiles, you must submit the profile''s address using [POST /v1/addresses](/api-reference/address/addresscreate). Failure to do so will result in an incomplete registration and delayed transactions.

        {% /admonition %}


        For business profiles, you must always create a personal profile first. Business profiles cannot be created without a personal profile.


        See [Business Category](/guides/developer/api-guides/business-categories) for the list of valid category and sub-category values for business profiles.

        '
      deprecated: true
      tags:
      - profile
      security:
      - UserToken: []
      - PersonalToken: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - title: Personal
                type: object
                required:
                - type
                properties:
                  type:
                    type: string
                    enum:
                    - personal
                    example: personal
                  details:
                    type: object
                    description: Personal profile details.
                    properties:
                      firstName:
                        type: string
                        maxLength: 30
                        description: First name (including middle names).
                        example: Oliver
                      lastName:
                        type: string
                        maxLength: 30
                        description: Last name.
                        example: Wilson
                      preferredName:
                        type: string
                        maxLength: 30
                        description: Preferred first name, if different to the legal first name.
                        example: Olivia
                      dateOfBirth:
                        type: string
                        description: Date of birth.
                        example: '1977-07-01'
                      phoneNumber:
                        type: string
                        description: Phone number in international phone number format.
                        example: '+3725064992'
                      firstNameInKana:
                        type:
                        - string
                        - 'null'
                        description: First name in Katakana (required for from-JPY personal transfers).
                        example: null
                      lastNameInKana:
                        type:
                        - string
                        - 'null'
                        description: Last name in Katakana (required for from-JPY personal transfers).
                        example: null
              - title: Business
                type: object
                required:
                - type
                properties:
                  type:
                    type: string
                    enum:
                    - business
                    example: business
                  details:
                    type: object
                    description: Business profile details.
                    properties:
                      name:
                        type: string
                        description: Business name.
                        example: ABC Logistics Ltd
                      registrationNumber:
                        type: string
                        description: Business registration number.
                        example: '12144939'
                      acn:
                        type:
                        - string
                        - 'null'
                        description: Australian Company Number (only for Australian businesses).
                        example: null
                      abn:
                        type:
                        - string
                        - 'null'
                        description: Australian Business Number (only for Australian businesses).
                        example: null
                      arbn:
                        type:
                        - string
                        - 'null'
                        description: Australian Registered Body Number (only for Australian businesses).
                        example: null
                      companyType:
                        type: string
                        description: Company legal form.
                        enum:
                        - LIMITED
                        - PARTNERSHIP
                        - SOLE_TRADER
                        - LIMITED_BY_GUARANTEE
                        - LIMITED_LIABILITY_COMPANY
                        - FOR_PROFIT_CORPORATION
                        - NON_PROFIT_CORPORATION
                        - LIMITED_PARTNERSHIP
                        - LIMITED_LIABILITY_PARTNERSHIP
                        - GENERAL_PARTNERSHIP
                        - SOLE_PROPRIETORSHIP
                        - PRIVATE_LIMITED_COMPANY
                        - PUBLIC_LIMITED_COMPANY
                        - TRUST
                        - OTHER
                      companyRole:
                        type: string
                        description: Role of person.
                        enum:
                        - OWNER
                        - DIRECTOR
                        - OTHER
                      descriptionOfBusiness:
                        type: string
                        deprecated: true
                        description: Sector / field of activity.
                      webpage:
                        type: string
                        description: Business webpage. Required if companyType is OTHER.
                        example: https://abc-logistics.com
                      businessCategory:
                        type: string
                        description: '[Business category](/guides/developer/api-guides/business-categories).'
                        example: CONSULTING_IT_BUSINESS_SERVICES
                      businessSubCategory:
                        type: string
                        description: '[Business sub-category](/guides/developer/api-guides/business-categories).'
                        example: DESIGN
      responses:
        '200':
          description: Created profile.
          content:
            application/json:
              schema:
                oneOf:
                - title: Personal
                  type: object
                  properties:
                    id:
                      type: integer
                      format: int64
                      description: Profile ID.
                      example: 30000001
                    type:
                      type: string
                      enum:
                      - personal
                      example: personal
                    details:
                      type: object
                      description: Personal profile details.
                      properties:
                        firstName:
                          type: string
                          example: Oliver
                        lastName:
                          type: string
                          example: Wilson
                        dateOfBirth:
                          type: string
                          example: '1977-07-01'
                        phoneNumber:
                          type: string
                          example: '+3725064992'
                        avatar:
                          type: string
                          example: ''
                        occupation:
                          type: string
                          deprecated: true
                          example: ''
                        occupations:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              code:
                                type: string
                                example: Software Engineer
                              format:
                                type: string
                                example: FREE_FORM
                        primaryAddress:
                          type:
                          - integer
                          - 'null'
                          format: int64
                          description: Address object ID.
                          example: null
                        firstNameInKana:
                          type:
                          - string
                          - 'null'
                          example: null
                        lastNameInKana:
                          type:
                          - string
                          - 'null'
                          example: null
                - title: Business
                  type: object
                  properties:
                    id:
                      type: integer
                      format: int64
                      description: Profile ID.
                      example: 30000002
                    type:
                      type: string
                      enum:
                      - business
                      example: business
                    details:
                      type: object
                      description: Business profile details.
                      properties:
                        name:
                          type: string
                          example: ABC Logistics Ltd
                        registrationNumber:
                          type: string
                          example: '12144939'
                        acn:
                          type:
                          - string
                          - 'null'
                          example: null
                        abn:
                          type:
                          - string
                          - 'null'
                          example: null
                        arbn:
                          type:
                          - string
                          - 'null'
                          example: null
                        companyType:
                          type: string
                          example: LIMITED
                        companyRole:
                          type: string
                          example: OWNER
                        descriptionOfBusiness:
                          type: string
                          deprecated: true
                          example: Information and communication
                        webpage:
                          type: string
                          example: https://abc-logistics.com
                        primaryAddress:
                          type: integer
                          format: int64
                          description: Address object ID.
                          example: 4000001
                        businessCategory:
                          type: string
                          description: '[Business category](/guides/developer/api-guides/business-categories).'
                          example: CONSULTING_IT_BUSINESS_SERVICES
                        businessSubCategory:
                          type: string
                          description: '[Business sub-category](/guides/developer/api-guides/business-categories).'
                          example: DESIGN
          headers:
            X-External-Correlation-Id:
              $ref: '#/components/headers/X-External-Correlation-Id'
            x-trace-id:
              $ref: '#/components/headers/x-trace-id'
        '429':
          $ref: '#/components/responses/429'
      parameters:
      - $ref: '#/components/parameters/X-External-Correlation-Id'
    put:
      operationId: profileUpdateV1
      summary: Update a profile (V1)
      description: '{% admonition type="warning" %}

        This endpoint is deprecated. Please see the [Update Personal Profile](/api-reference/profile/profilepersonalupdate) and [Update Business Profile](/api-reference/profile/profilebusinessupdate) v2 endpoints.

        {% /admonition %}


        Update user profile information. Request and response is same as described in the create profile endpoint, with the addition of the `id` field.


        {% admonition type="info" %}

        If user profile has been verified then there are restrictions on what information is allowed to change, where permitted, use the update window functionality to submit updated data.

        {% /admonition %}

        '
      deprecated: true
      tags:
      - profile
      security:
      - UserToken: []
      - PersonalToken: []
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - title: Personal
                type: object
                required:
                - type
                - id
                properties:
                  id:
                    type: integer
                    format: int64
                    description: Profile ID.
                    example: 30000001
                  type:
                    type: string
                    enum:
                    - personal
                    example: personal
                  details:
                    type: object
                    description: Personal profile details.
                    properties:
                      firstName:
                        type: string
                        maxLength: 30
                        description: First name (including middle names).
                        example: Oliver
                      lastName:
                        type: string
                        maxLength: 30
                        description: Last name.
                        example: Wilson
                      preferredName:
                        type: string
                        maxLength: 30
                        description: Preferred first name, if different to the legal first name.
                        example: Olivia
                      dateOfBirth:
                        type: string
                        description: Date of birth.
                        example: '1977-07-01'
                      phoneNumber:
                        type: string
                        description: Phone number in international phone number format.
                        example: '+3725064992'
                      firstNameInKana:
                        type:
                        - string
                        - 'null'
                        description: First name in Katakana (required for from-JPY personal transfers).
                        example: null
                      lastNameInKana:
                        type:
                        - string
                        - 'null'
                        description: Last name in Katakana (required for from-JPY personal transfers).
                        example: null
              - title: Business
                type: object
                required:
                - type
                - id
                properties:
                  id:
                    type: integer
                    format: int64
                    description: Profile ID.
                    example: 14590075
                  type:
                    type: string
                    enum:
                    - business
                    example: business
                  details:
                    type: object
                    description: Business profile details.
                    properties:
                      name:
                        type: string
                        description: Business name.
                        example: ABC Logistics Ltd
                      registrationNumber:
                        type: string
                        description: Business registration number.
                        example: '12144939'
                      acn:
                        type:
                        - string
                        - 'null'
                        description: Australian Company Number (only for Australian businesses).
                        example: null
                      abn:
                        type:
                        - string
                        - 'null'
                        description: Australian Business Number (only for Australian businesses).
                        example: null
                      arbn:
                        type:
                        - string
                        - 'null'
                        description: Australian Registered Body Number (only for Australian businesses).
                        example: null
                      companyType:
                        type: string
                        description: Company legal form.
                        enum:
                        - LIMITED
                        - PARTNERSHIP
                        - SOLE_TRADER
                        - LIMITED_BY_GUARANTEE
                        - LIMITED_LIABILITY_COMPANY
                        - FOR_PROFIT_CORPORATION
                        - NON_PROFIT_CORPORATION
                        - LIMITED_PARTNERSHIP
                        - LIMITED_LIABILITY_PARTNERSHIP
                        - GENERAL_PARTNERSHIP
                        - SOLE_PROPRIETORSHIP
                        - PRIVATE_LIMITED_COMPANY
                        - PUBLIC_LIMITED_COMPANY
                        - TRUST
                        - OTHER
                      companyRole:
                        type: string
                        description: Role of person.
                        enum:
                        - OWNER
                        - DIRECTOR
                        - OTHER
                      descriptionOfBusiness:
                        type: string
                        deprecated: true
                        description: Sector / field of activity.
                      webpage:
                        type: string
                        description: Business webpage. Required if companyType is OTHER.
                        example: https://abc-logistics.com
                      businessCategory:
                        type: string
                        description: '[Business category](/guides/developer/api-guides/business-categories).'
                        example: CONSULTING_IT_BUSINESS_SERVICES
                      businessSubCategory:
                        type: string
                        description: '[Business sub-category](/guides/developer/api-guides/business-categories).'
                        example: DESIGN
      responses:
        '200':
          description: Updated profile.
          content:
            application/json:
              schema:
                oneOf:
                - title: Personal
                  type: object
                  properties:
                    id:
                      type: integer
                      format: int64
                      description: Profile ID.
                      example: 30000001
                    type:
                      type: string
                      enum:
                      - personal
                      example: personal
                    details:
                      type: object
                      description: Personal profile details.
                      properties:
                        firstName:
                          type: string
                          example: Oliver
                        lastName:
                          type: string
                          example: Wilson
                        dateOfBirth:
                          type: string
                          example: '1977-07-01'
                        phoneNumber:
                          type: string
                          example: '+3725064992'
                        avatar:
                          type: string
                          example: ''
                        occupation:
                          type: string
                          deprecated: true
                          example: ''
                        occupations:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              code:
                                type: string
                                example: Software Engineer
                              format:
                                type: string
                                example: FREE_FORM
                        primaryAddress:
                          type:
                          - integer
                          - 'null'
                          format: int64
                          description: Address object ID.
                          example: null
                        firstNameInKana:
                          type:
                          - string
                          - 'null'
                          example: null
                        lastNameInKana:
                          type:
                          - string
                          - 'null'
                          example: null
                - title: Business
                  type: object
                  properties:
                    id:
                      type: integer
                      format: int64
                      description: Profile ID.
                      example: 30000002
                    type:
                      type: string
                      enum:
                      - business
                      example: business
                    details:
                      type: object
                      description: Business profile details.
                      properties:
                        name:
                          type: string
                          example: ABC Logistics Ltd
                        registrationNumber:
                          type: string
                          example: '12144939'
                        acn:
                          type:
                          - string
                          - 'null'
                          example: null
                        abn:
                          type:
                          - string
                          - 'null'
                          example: null
                        arbn:
                          type:
                          - string
                          - 'null'
                          example: null
                        companyType:
                          type: string
                          example: LIMITED
                        companyRole:
                          type: string
                          example: OWNER
                        descriptionOfBusiness:
                          type: string
                          deprecated: true
                          example: Information and communication
                        webpage:
                          type: string
                          example: https://abc-logistics.com
                        primaryAddress:
                          type: integer
                          format: int64
                          description: Address object ID.
                          example: 4000001
                        businessCategory:
                          type: string
                          description: '[Business category](/guides/developer/api-guides/business-categories).'
                          example: CONSULTING_IT_BUSINESS_SERVICES
                        businessSubCategory:
                          type: string
                          description: '[Business sub-category](/guides/developer/api-guides/business-categories).'
                          example: DESIGN
          headers:
            X-External-Correlation-Id:
              $ref: '#/components/headers/X-External-Correlation-Id'
            x-trace-id:
              $ref: '#/components/headers/x-trace-id'
        '429':
          $ref: '#/components/responses/429'
      parameters:
      - $ref: '#/components/parameters/X-External-Correlation-Id'
  /v2/profiles:
    get:
      operationId: profileList
      summary: List profiles for a user account
      description: 'List of all profiles belonging to user.

        '
      tags:
      - profile
      security:
      - UserToken: []
      - PersonalToken: []
      responses:
        '200':
          description: Array of profile objects. Note that there might be more than one business profile returned in the response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/profile'
              example:
              - type: PERSONAL
                id: 14575282
                publicId: a1b2c3d4-e5f6-7890-1234-567890abcdef
                userId: 9889627
                address:
                  id: 36086782
                  addressFirstLine: 24 Willow Creek Lane
                  city: Bristol
                  countryIso2Code: GB
                  countryIso3Code: gbr
                  postCode: BS1 6AE
                  stateCode: null
                email: sarah.jenkins@example.com
                createdAt: '2023-01-15T10:30:00'
                updatedAt: '2025-06-18T14:20:00'
                avatar: https://example.com/avatars/sarah_jenkins.png
                currentState: VISIBLE
                contactDetails:
                  email: sarah.contact@example.com
                  phoneNumber: '+447700900123'
                firstName: Sarah
                lastName: Jenkins
                preferredName: Sal
                dateOfBirth: '1985-05-20'
                phoneNumber: '+447700900456'
                secondaryAddresses: []
                fullName: Sarah Jenkins
              - type: BUSINESS
                id: 14599371
                publicId: f0e9d8c7-b6a5-4321-fedc-ba9876543210
                userId: 9889627
                address:
                  id: 36152772
                  addressFirstLine: 15 Tech Hub Studios
                  city: Manchester
                  countryIso2Code: GB
                  countryIso3Code: gbr
                  postCode: M1 7JA
                  stateCode: null
                email: info@innovate-solutions.co.uk
                createdAt: '2024-03-10T09:00:00'
                updatedAt: '2025-06-18T14:22:00'
                contactDetails:
                  email: contact@innovate-solutions.co.uk
                  phoneNumber: '+441617891234'
                businessName: Innovate Solutions Ltd
                registrationNumber: SC1234567890ABCD
                descriptionOfBusiness: SOFTWARE_DEVELOPMENT
                webpage: https://www.innovate-solutions.co.uk
                companyType: LIMITED_COMPANY
                businessFreeFormDescription: We create cutting-edge software for businesses.
                firstLevelCategory: TECHNOLOGY
                secondLevelCategory: SOFTWARE_SERVICES
                operationalAddresses:
                - id: 36152773
                  addressFirstLine: Unit 5, Innovation Park
                  city: Leeds
                  countryIso2Code: GB
                  countryIso3Code: gbr
                  postCode: LS1 4YZ
                  stateCode: null
                fullName: Innovate Solutions Ltd
          headers:
            X-External-Correlation-Id:
              $ref: '#/components/headers/X-External-Correlation-Id'
            x-trace-id:
              $ref: '#/components/headers/x-trace-id'
        '429':
          $ref: '#/components/responses/429'
      parameters:
      - $ref: '#/components/parameters/X-External-Correlation-Id'
  /v2/profiles/personal-profile:
    post:
      operationId: profilePersonalCreate
      summary: Create a personal profile
      description: 'Create a personal profile for the authenticated user. A personal profile represents an individual and is required before creating transfers or business profiles.


        {% admonition type="info" %}

        Use the `X-idempotence-uuid` header to safely retry requests. If omitted and a profile already exists, the API returns `409 Conflict`. You can then retrieve existing profiles via [List profiles](/api-reference/profile/profilelist).

        {% /admonition %}


        Field notes {% .title-4 .m-t-3 %}


        - **First and last names** are limited to 30 characters each. Truncate if necessary (e.g. when a customer has many middle names).

        - **`occupations`** is required for CA, IN, JP, ID, IL, MX, and within the US for the state NM.

        - **`contactDetails`** are used for mandatory customer notifications and to help identify your customer when contacting Wise support.

        '
      tags:
      - profile
      security:
      - UserToken: []
      - PersonalToken: []
      parameters:
      - name: X-idempotence-uuid
        in: header
        required: false
        description: Unique idempotency key for the request.
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/X-Exter

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