Weblate memory API

Added in version 4.14.

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/weblate-memory-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 email required.

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

OpenAPI Specification

weblate-memory-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: Weblate's REST addons memory API
  version: "1.0"
  x-logo:
    url: /static/weblate.svg
  description: "\nThe API is accessible on the ``/api/`` URL and it is based on [Django REST framework](https://www.django-rest-framework.org/).\n\nThe OpenAPI specification is available as feature preview, feedback welcome!\n\n## Authorization\n\n<!-- Redoc-Inject: <security-definitions> -->\n\n\n    "
  license:
    name: GNU General Public License v3 or later
    url: https://docs.weblate.org/en/latest/contributing/license.html
servers:
- url: 'http:'
  description: Weblate
tags:
- name: memory
  description: Added in version 4.14.
paths:
  /api/memory/:
    get:
      operationId: api_memory_list
      description: Return a list of memory results.
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: project
        schema:
          type: string
      - in: query
        name: source
        schema:
          type: string
      - in: query
        name: source_language
        schema:
          type: string
      - in: query
        name: target_language
        schema:
          type: string
      tags:
      - memory
      security:
      - tokenAuth: []
      - bearerAuth: []
      - cookieAuth: []
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse401'
              examples:
                AuthenticationFailed:
                  value:
                    type: client_error
                    errors:
                    - code: authentication_failed
                      detail: Incorrect authentication credentials.
                      attr: null
                NotAuthenticated:
                  value:
                    type: client_error
                    errors:
                    - code: not_authenticated
                      detail: Authentication credentials were not provided.
                      attr: null
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse404'
              examples:
                NotFound:
                  value:
                    type: client_error
                    errors:
                    - code: not_found
                      detail: Not found.
                      attr: null
          description: ''
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse405'
              examples:
                MethodNotAllowed:
                  value:
                    type: client_error
                    errors:
                    - code: method_not_allowed
                      detail: Method "get" not allowed.
                      attr: null
          description: ''
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse406'
              examples:
                NotAcceptable:
                  value:
                    type: client_error
                    errors:
                    - code: not_acceptable
                      detail: Could not satisfy the request Accept header.
                      attr: null
          description: ''
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse423'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse429'
              examples:
                Throttled:
                  value:
                    type: client_error
                    errors:
                    - code: throttled
                      detail: Request was throttled.
                      attr: null
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse500'
              examples:
                APIException:
                  value:
                    type: server_error
                    errors:
                    - code: error
                      detail: A server error occurred.
                      attr: null
          description: ''
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMemoryList'
          description: ''
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
  /api/memory/{id}/:
    get:
      operationId: api_memory_retrieve
      description: Memory API.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[^/]+$
        required: true
      tags:
      - memory
      security:
      - tokenAuth: []
      - bearerAuth: []
      - cookieAuth: []
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse401'
              examples:
                AuthenticationFailed:
                  value:
                    type: client_error
                    errors:
                    - code: authentication_failed
                      detail: Incorrect authentication credentials.
                      attr: null
                NotAuthenticated:
                  value:
                    type: client_error
                    errors:
                    - code: not_authenticated
                      detail: Authentication credentials were not provided.
                      attr: null
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse404'
              examples:
                NotFound:
                  value:
                    type: client_error
                    errors:
                    - code: not_found
                      detail: Not found.
                      attr: null
          description: ''
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse405'
              examples:
                MethodNotAllowed:
                  value:
                    type: client_error
                    errors:
                    - code: method_not_allowed
                      detail: Method "get" not allowed.
                      attr: null
          description: ''
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse406'
              examples:
                NotAcceptable:
                  value:
                    type: client_error
                    errors:
                    - code: not_acceptable
                      detail: Could not satisfy the request Accept header.
                      attr: null
          description: ''
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse423'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse429'
              examples:
                Throttled:
                  value:
                    type: client_error
                    errors:
                    - code: throttled
                      detail: Request was throttled.
                      attr: null
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse500'
              examples:
                APIException:
                  value:
                    type: server_error
                    errors:
                    - code: error
                      detail: A server error occurred.
                      attr: null
          description: ''
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Memory'
          description: ''
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
    delete:
      operationId: api_memory_destroy
      description: Delete a memory object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[^/]+$
        required: true
      tags:
      - memory
      security:
      - tokenAuth: []
      - bearerAuth: []
      - cookieAuth: []
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse401'
              examples:
                AuthenticationFailed:
                  value:
                    type: client_error
                    errors:
                    - code: authentication_failed
                      detail: Incorrect authentication credentials.
                      attr: null
                NotAuthenticated:
                  value:
                    type: client_error
                    errors:
                    - code: not_authenticated
                      detail: Authentication credentials were not provided.
                      attr: null
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse404'
              examples:
                NotFound:
                  value:
                    type: client_error
                    errors:
                    - code: not_found
                      detail: Not found.
                      attr: null
          description: ''
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse405'
              examples:
                MethodNotAllowed:
                  value:
                    type: client_error
                    errors:
                    - code: method_not_allowed
                      detail: Method "get" not allowed.
                      attr: null
          description: ''
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse406'
              examples:
                NotAcceptable:
                  value:
                    type: client_error
                    errors:
                    - code: not_acceptable
                      detail: Could not satisfy the request Accept header.
                      attr: null
          description: ''
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse423'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse429'
              examples:
                Throttled:
                  value:
                    type: client_error
                    errors:
                    - code: throttled
                      detail: Request was throttled.
                      attr: null
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse500'
              examples:
                APIException:
                  value:
                    type: server_error
                    errors:
                    - code: error
                      detail: A server error occurred.
                      attr: null
          description: ''
        '204':
          description: No response body
  /api/memory/lookup/:
    post:
      operationId: api_memory_lookup_create
      description: Look up translation memory matches for the provided source strings.
      parameters:
      - in: query
        name: exact
        schema:
          type: boolean
        description: Return exact matches only and skip fuzzy matching.
      - in: query
        name: project
        schema:
          type: string
        description: Project slug filter.
      - in: query
        name: source_language
        schema:
          type: string
        description: Source language code.
        required: true
      - in: query
        name: target_language
        schema:
          type: string
        description: Target language code.
        required: true
      tags:
      - memory
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MemoryLookupRequest'
        required: true
      security:
      - tokenAuth: []
      - bearerAuth: []
      - cookieAuth: []
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse400'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse401'
              examples:
                AuthenticationFailed:
                  value:
                    type: client_error
                    errors:
                    - code: authentication_failed
                      detail: Incorrect authentication credentials.
                      attr: null
                NotAuthenticated:
                  value:
                    type: client_error
                    errors:
                    - code: not_authenticated
                      detail: Authentication credentials were not provided.
                      attr: null
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse404'
              examples:
                NotFound:
                  value:
                    type: client_error
                    errors:
                    - code: not_found
                      detail: Not found.
                      attr: null
          description: ''
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse405'
              examples:
                MethodNotAllowed:
                  value:
                    type: client_error
                    errors:
                    - code: method_not_allowed
                      detail: Method "get" not allowed.
                      attr: null
          description: ''
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse406'
              examples:
                NotAcceptable:
                  value:
                    type: client_error
                    errors:
                    - code: not_acceptable
                      detail: Could not satisfy the request Accept header.
                      attr: null
          description: ''
        '415':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse415'
              examples:
                UnsupportedMediaType:
                  value:
                    type: client_error
                    errors:
                    - code: unsupported_media_type
                      detail: Unsupported media type "application/json" in request.
                      attr: null
          description: ''
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse423'
          description: ''
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse429'
              examples:
                Throttled:
                  value:
                    type: client_error
                    errors:
                    - code: throttled
                      detail: Request was throttled.
                      attr: null
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse500'
              examples:
                APIException:
                  value:
                    type: server_error
                    errors:
                    - code: error
                      detail: A server error occurred.
                      attr: null
          description: ''
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MemoryLookupResult'
          description: ''
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
components:
  schemas:
    Error415:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode415Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    ErrorCode406Enum:
      enum:
      - not_acceptable
      type: string
      description: '* `not_acceptable` - Not Acceptable'
    Error423:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode423Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    ErrorResponse404:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error404'
      required:
      - errors
      - type
    ErrorCode429Enum:
      enum:
      - throttled
      type: string
      description: '* `throttled` - Throttled'
    ErrorCode401Enum:
      enum:
      - authentication_failed
      - not_authenticated
      type: string
      description: '* `authentication_failed` - Authentication Failed

        * `not_authenticated` - Not Authenticated'
    PaginatedMemoryList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/Memory'
    ErrorResponse415:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error415'
      required:
      - errors
      - type
    Error429:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode429Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    Error406:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode406Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    Error405:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode405Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    Memory:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        source:
          type: string
        target:
          type: string
        source_language:
          type: integer
        target_language:
          type: integer
        origin:
          type: string
        project:
          type:
          - integer
          - 'null'
        from_file:
          type: boolean
        shared:
          type: boolean
      required:
      - id
      - origin
      - source
      - source_language
      - target
      - target_language
    MemoryLookupResult:
      type: object
      properties:
        query:
          type: string
        match:
          oneOf:
          - $ref: '#/components/schemas/MemoryLookupMatch'
          - type: 'null'
      required:
      - match
      - query
    Error400:
      type: object
      properties:
        code:
          type: string
          description: Error code. The examples list common validation and parse error codes.
          examples:
          - blank
          - date
          - datetime
          - does_not_exist
          - empty
          - incorrect_match
          - incorrect_type
          - invalid
          - invalid_choice
          - invalid_image
          - invalid_list
          - make_aware
          - max_length
          - max_string_length
          - max_value
          - min_value
          - no_match
          - no_name
          - not_a_list
          - 'null'
          - null_characters_not_allowed
          - overflow
          - parse_error
          - required
          - surrogate_characters_not_allowed
          - unique
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    Error401:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode401Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    ErrorResponse400TypeEnum:
      enum:
      - validation_error
      - client_error
      type: string
      description: '* `validation_error` - Validation Error

        * `client_error` - Client Error'
    Error500:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode500Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    MemoryLookupMatch:
      type: object
      properties:
        id:
          type: integer
        source:
          type: string
        target:
          type: string
        origin:
          type: string
        exact:
          type: boolean
        quality:
          type: integer
      required:
      - exact
      - id
      - origin
      - quality
      - source
      - target
    ErrorCode500Enum:
      enum:
      - error
      type: string
      description: '* `error` - Error'
    MemoryLookupRequest:
      type: object
      properties:
        strings:
          type: array
          items:
            type: string
            maxLength: 2000
          maxItems: 100
      required:
      - strings
    ServerErrorEnum:
      enum:
      - server_error
      type: string
      description: '* `server_error` - Server Error'
    Error404:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode404Enum'
        detail:
          type: string
        attr:
          type:
          - string
          - 'null'
      required:
      - attr
      - code
      - detail
    ErrorCode415Enum:
      enum:
      - unsupported_media_type
      type: string
      description: '* `unsupported_media_type` - Unsupported Media Type'
    ErrorCode404Enum:
      enum:
      - not_found
      type: string
      description: '* `not_found` - Not Found'
    ErrorResponse500:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ServerErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error500'
      required:
      - errors
      - type
    ErrorResponse423:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ServerErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error423'
      required:
      - errors
      - type
    ErrorResponse401:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error401'
      required:
      - errors
      - type
    ErrorResponse429:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error429'
      required:
      - errors
      - type
    ErrorCode423Enum:
      enum:
      - repository-locked
      - component-locked
      - unknown-locked
      type: string
      description: '* `repository-locked` - Repository Locked

        * `component-locked` - Component Locked

        * `unknown-locked` - Unknown Locked'
    ErrorResponse400:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ErrorResponse400TypeEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error400'
      required:
      - errors
      - type
    ErrorResponse406:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error406'
      required:
      - errors
      - type
    ErrorResponse405:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ClientErrorEnum'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error405'
      required:
      - errors
      - type
    ErrorCode405Enum:
      enum:
      - method_not_allowed
      type: string
      description: '* `method_not_allowed` - Method Not Allowed'
    ClientErrorEnum:
      enum:
      - client_error
      type: string
      description: '* `client_error` - Client Error'
  headers:
    X-RateLimit-Limit:
      schema:
        type: integer
      description: Allowed number of requests to perform
      required: true
    X-RateLimit-Remaining:
      schema:
        type: integer
      description: Remaining number of requests to perform
      required: true
    X-RateLimit-Reset:
      schema:
        type: integer
      description: Number of seconds until the rate-limit window resets
      required: true
  securitySchemes:
    bearerAuth:
      type: apiKey
      in: header
      name: Bearer
      description: "Token-based authentication with required prefix `Bearer`.\n\n- Each user has a personal access token which they can get from their respective user profile. These tokens have the `wlu_` prefix.\n- It is possible to create project tokens whose access to the API is limited to operations to their associated project. These tokens have the `wlp_` prefix.\n        "
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
      description: Session-based authentication used when user is signed in.
    tokenAuth:
      type: apiKey
      in: header
      name: Token
      description: "Token-based authentication with required prefix `Token`.\n\n- Each user has a personal access token which they can get from their respective user profile. These tokens have the `wlu_` prefix.\n- It is possible to create project tokens whose access to the API is limited to operations to their associated project. These tokens have the `wlp_` prefix.\n        "
externalDocs:
  url: https://docs.weblate.org/en/latest/index.html
  description: Official Weblate documentation