Volt Aliases API

Issuance and management of account aliases for global reconciliation.

Operations 6

GET /accounts/{accountId}/aliases List of aliases for an account #
POST /orders/account-aliases Order aliases #
GET /orders/account-aliases/{id} Get alias order status #
GET /account-aliases/{aliasId} Get alias details #
PATCH /account-aliases/{aliasId} Change state of alias #
POST /account-aliases/{aliasId}/close Close alias #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

volt-io-aliases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Global Api Accounts Aliases API
  version: 1.0.0
  description: "## API idempotency \nEach `POST` request creating a resource (for example a transaction) requires to send a unique idempotency key. It is included in the `Idempotency-Key` HTTP header. Idempotency key helps prevent duplicates in your `POST` requests. We recommend using an **UUID** for the key, however you may use any other unique identifier you choose.\n\n#### Preventing duplicates \nIf we have already processed the request and you send a request using the same idempotency key, it will fail with an error, returning a ```409 Conflict``` response.\n\n## Case-sensitivity\nAll properties/keys within request's/response's payload are case-sensitive.\n\nHTTP headers' names are case-insensitive.\n\n## API base URL\n**Sandbox: [https://accounts.sandbox.volt.io]()**\n\n**Production: [https://accounts.volt.io]()**"
  contact:
    email: support@volt.io
    name: Volt Support
    url: https://www.volt.io/contact/
servers:
- url: https://accounts.sandbox.volt.io
  description: Sandbox
- url: https://accounts.volt.io
  description: Production
security:
- BearerAuth: []
tags:
- name: Aliases
  description: Issuance and management of account aliases for global reconciliation.
paths:
  /accounts/{accountId}/aliases:
    get:
      tags:
      - Aliases
      summary: List of aliases for an account
      operationId: get-aliases
      parameters:
      - $ref: '#/components/parameters/XVoltApiVersion'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/PageParam'
      - name: accountId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Unique identifier of the account
      - name: orderId
        in: query
        description: Filter aliases by the order id they were created with.
        required: false
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: List of aliases for the account
          headers:
            limit:
              $ref: '#/components/headers/PaginationLimit'
            page:
              $ref: '#/components/headers/PaginationPage'
            page-count:
              $ref: '#/components/headers/PaginationPageCount'
            total-items:
              $ref: '#/components/headers/PaginationTotalItems'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AliasMinimalDetails'
              example:
              - id: 06949674-d65c-4266-a2c6-23bce4a80a81
                currency: EUR
                identifications:
                - iban: DE33500105173822933531
                  bic: ALBPPLPW
                name: Virtual account
                customerId: dab4dd0c-d63b-439c-9c47-722ce7a01b60
                accountId: ca52ea87-a0e3-4371-b301-63309d2e0aa3
                active: true
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
  /orders/account-aliases:
    post:
      tags:
      - Aliases
      operationId: order-aliases
      summary: Order aliases
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      - $ref: '#/components/parameters/XVoltApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AliasesOrderRequest'
      responses:
        '201':
          description: Order for issuing account aliases created successfully.
          headers:
            Location:
              schema:
                type: string
                format: uri
              description: Location of created aliases order.
          content:
            application/json:
              schema:
                type: object
                description: Response containing the identifier of the created aliases order.
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Unique ID of the aliases order.
                    example: 57ad1a6b-95ac-4b33-8c92-311cda8f3c99
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '409':
          $ref: '#/components/responses/409'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
  /orders/account-aliases/{id}:
    get:
      tags:
      - Aliases
      operationId: get-alias-order-status
      summary: Get alias order status
      parameters:
      - $ref: '#/components/parameters/XVoltApiVersion'
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Unique identifier of the alias order
      responses:
        '200':
          description: Alias order details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AliasOrderDetails'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /account-aliases/{aliasId}:
    get:
      tags:
      - Aliases
      summary: Get alias details
      operationId: get-alias-details
      parameters:
      - $ref: '#/components/parameters/XVoltApiVersion'
      - name: aliasId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Unique identifier of the alias
      responses:
        '200':
          description: Details of alias
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AliasDetails'
              example:
                id: 06949674-d65c-4266-a2c6-23bce4a80a81
                currency: EUR
                identifications:
                - iban: DE33500105173822933531
                  bic: ALBPPLPW
                name: Virtual account
                customerId: dab4dd0c-d63b-439c-9c47-722ce7a01b60
                accountId: ca52ea87-a0e3-4371-b301-63309d2e0aa3
                orderId: 22cb500c-fe26-47ec-bd62-2023d674a8e3
                active: true
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
    patch:
      tags:
      - Aliases
      summary: Change state of alias
      operationId: change-alias-state
      description: Marks the specified alias as active or inactive.
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      - $ref: '#/components/parameters/XVoltApiVersion'
      - name: aliasId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Unique identifier of the alias
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeAliasStateRequest'
      responses:
        '200':
          description: alias successfully updated
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '406':
          $ref: '#/components/responses/406'
        '409':
          $ref: '#/components/responses/409'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
  /account-aliases/{aliasId}/close:
    post:
      tags:
      - Aliases
      summary: Close alias
      operationId: close-alias
      description: Permanently closes the specified alias. A closed alias cannot be reopened or used for further transactions.
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      - $ref: '#/components/parameters/XVoltApiVersion'
      - name: aliasId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Unique identifier of the alias to be closed.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AliasCloseRequest'
      responses:
        '200':
          description: Alias successfully closed.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '409':
          $ref: '#/components/responses/409'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    Error401Response:
      type: object
      description: Error response for HTTP 401 Unauthorized.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - UNAUTHORISED
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    Error403Response:
      type: object
      description: Error response for HTTP 403 Forbidden.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - ACCESS_DENIED
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    AliasMinimalDetails:
      type: object
      properties:
        id:
          type: string
          format: uuid
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        identifications:
          $ref: '#/components/schemas/Identifications'
        name:
          type: string
        customerId:
          type: string
          format: uuid
        accountId:
          type: string
          format: uuid
        orderId:
          type: string
          format: uuid
        active:
          type: boolean
    AliasOrderStatusEnum:
      type: string
      description: Current status of the alias order
      enum:
      - PROCESSING
      - COMPLETED
      - FAILED
    AliasOrderLinks:
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkObject'
        aliases:
          $ref: '#/components/schemas/LinkObject'
    Error500Response:
      type: object
      description: Error response for HTTP 500 Internal Server Error.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - INTERNAL_SERVER_ERROR
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    Communication:
      type: object
      properties:
        notifications:
          type: object
          description: Settings for webhook notifications delivery.
          properties:
            url:
              type: string
              pattern: ^https?://[^ ]+$
              description: URL where the notifications (webhooks) are going to be sent when the transaction status changes. This value will take precedence over Fuzebox configuration. Provide a value here only if you need to overwrite it. Note that a default notifications URL must be configured in Fuzebox for notifications to be delivered; if it is not configured, no notification will be sent even when this overwrite URL is provided.
              example: https://mywebsite.com/webhooks
    AliasDetails:
      type: object
      allOf:
      - $ref: '#/components/schemas/AliasMinimalDetails'
      - type: object
        properties:
          _links:
            type: object
            properties:
              self:
                $ref: '#/components/schemas/LinkObject'
    Error422Response:
      type: object
      description: Error response for HTTP 422 Unprocessable Entity.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - VALIDATION_FAILURE
        message:
          type: string
          description: Error message.
        errors:
          type: array
          description: Field validation errors.
          items:
            $ref: '#/components/schemas/ValidationErrorDetail'
      required:
      - code
      - message
      - errors
    Error400Response:
      type: object
      description: Error response for HTTP 400 Bad Request.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - BAD_REQUEST
          - INVALID_PATH_VARIABLE
          - MISSING_HTTP_HEADER
          - INVALID_HTTP_HEADER
          - MALFORMED_PATH_PARAM
          - MISSING_QUERY_PARAM
          - INVALID_QUERY_PARAM
          - MALFORMED_QUERY_PARAM
          - CONFIGURATION_ERROR
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    ValidationErrorType:
      $ref: ./error-common.yaml#/components/schemas/ValidationErrorType
    AliasOrderDetails:
      type: object
      description: Alias order status and details.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the alias order
        accountId:
          type: string
          format: uuid
          description: Unique identifier of the account the aliases are assigned to
        status:
          $ref: '#/components/schemas/AliasOrderStatusEnum'
        requested:
          type: integer
          description: Total number of aliases requested
        completed:
          type: integer
          description: Number of aliases successfully created so far
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the order was created
        completedAt:
          type:
          - string
          - 'null'
          format: date-time
          description: Timestamp when the order reached a terminal state
        _links:
          $ref: '#/components/schemas/AliasOrderLinks'
    Identifications:
      description: A list of one or more account identifiers.
      type: array
      items:
        $ref: accounts-common.yaml#/components/schemas/AccountIdentifier
      minItems: 1
    Error409Response:
      type: object
      description: Error response for HTTP 409 Conflict.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - CONFLICT
          - IDEMPOTENCY_CONFLICT
          - RESOURCE_NOT_MODIFIABLE
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    Error405Response:
      type: object
      description: HTTP method is not supported for this URL.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - METHOD_NOT_SUPPORTED
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    Error404Response:
      type: object
      description: Error response for HTTP 404 Not Found.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - RESOURCE_NOT_FOUND
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    LinkObject:
      type: object
      properties:
        href:
          type: string
          format: uri
        method:
          type: string
          enum:
          - GET
          - POST
          - PATCH
          - DELETE
      required:
      - href
    CurrencyCode:
      type: string
      description: Three-letter ISO 4217 currency code.
      example: EUR
      pattern: ^[A-Z]{3}$
    AliasCloseRequest:
      type: object
      properties:
        communication:
          $ref: '#/components/schemas/Communication'
    ChangeAliasStateRequest:
      type: object
      properties:
        active:
          type: boolean
      required:
      - active
    Error415Response:
      type: object
      description: Request contains data in an unsupported content type.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - UNSUPPORTED_MEDIA_TYPE
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
    ValidationErrorDetail:
      type: object
      description: Details about a specific validation error.
      properties:
        type:
          $ref: '#/components/schemas/ValidationErrorType'
        propertyPath:
          type: string
          description: Points to the specific field or property in the incoming request that violated the validation rule.
        message:
          type: string
          description: Human-readable message about constraint violation.
    AliasesOrderRequest:
      type: object
      properties:
        accountId:
          type: string
          format: uuid
          description: The unique identifier of the account.
        count:
          type: integer
          minimum: 1
          maximum: 1000
          description: Number of aliases to create.
        communication:
          $ref: '#/components/schemas/Communication'
      required:
      - accountId
      - count
    Error406Response:
      type: object
      description: API is not able to generate a response in the format defined in the Accept HTTP request header.
      properties:
        code:
          type: string
          description: Error code.
          enum:
          - MEDIA_TYPE_NOT_ACCEPTABLE
        message:
          type: string
          description: Error message.
      required:
      - code
      - message
  responses:
    '403':
      description: '**Access denied** - Although your credentials are correct, your access to this section of the API has been disabled or limited. Subsequent requests to this endpoint will not be processed.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error403Response'
    '404':
      description: '**Not found** - The resource that you are requesting cannot be found.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error404Response'
    '401':
      description: '**Unauthorized** - Your credentials were invalid. It may be that the token you''ve used has expired. Try re-authenticating with valid or updated credentials and retry this request.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401Response'
    '406':
      description: '**Media-type not acceptable** - API is not able to generate a response in the format defined in the Accept HTTP request header.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error406Response'
    '405':
      description: '**Method not supported** - HTTP method is not supported for this URL.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error405Response'
    '422':
      description: '**Unprocessable** - Request''s payload validation fails.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error422Response'
    '409':
      description: '**Conflict** - Modification of a resource is not possible, because current state of it does not allow it. Or `Idempotency-Key` was already used.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error409Response'
    '500':
      description: '**Internal server error** - Something went wrong and request cannot be processed due to server error. Message will contain trace ID and timestamp, which allows to investigate what went wrong.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error500Response'
    '400':
      description: '**Bad request** - Request you sent is invalid or malformed. Response will contain a description of the actual problem.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400Response'
    '415':
      description: '**Unsupported media-type** - Request contains data in an unsupported content type.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error415Response'
  parameters:
    PageParam:
      name: page
      in: query
      description: Page index for pagination.
      schema:
        type: integer
        minimum: 1
        default: 1
    LimitParam:
      name: limit
      in: query
      description: Number of items to return per page (max 100).
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: It helps preventing duplicates in your `POST` requests. It is recommend using a **UUID** for the key, however you may use any other unique identifier you choose.
      required: true
      schema:
        type: string
        maxLength: 160
        example: 85136c79cbf9fe36bb9d05d0639c70c265c18d37
    XVoltApiVersion:
      name: X-Volt-Api-Version
      in: header
      description: Version of the API used. Currently, version `1` is the only version.
      required: true
      schema:
        type: integer
        example: 1
        enum:
        - 1
  headers:
    PaginationPageCount:
      description: Total number of available pages.
      schema:
        type: integer
        example: 6
    PaginationLimit:
      description: Number of items per page.
      schema:
        type: integer
        example: 25
    PaginationTotalItems:
      description: The absolute count of items matching the query.
      schema:
        type: integer
        example: 150
    PaginationPage:
      description: The current page number.
      schema:
        type: integer
        example: 1
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT