Service Feedback

Did a service return something wrong? Service Feedback lets you tell us: what was wrong, what you expected instead, and optionally which operation it was and the images it happened on. Our team reviews your feedback and updates its status, so you can follow what happens to it.

You can send feedback on any service your account has access to. Sending it is free and doesn't use your credits. GET https://api.ximilar.com/account/v2/service/ lists the services with their slug, and available tells you whether your account can use them.

Endpoints

POST    https://api.ximilar.com/feedback/v2/feedback/                   → Send feedback
GET     https://api.ximilar.com/feedback/v2/feedback/                   → List feedback
GET     https://api.ximilar.com/feedback/v2/feedback/__FEEDBACK_ID__/   → Get one feedback
GET     https://api.ximilar.com/feedback/v2/feedback/operations/        → List operations of a service

Feedback belongs to a workspace, and everyone with access to that workspace can read it. Every endpoint uses your default workspace unless you pass a workspace ID as a query parameter.

Once sent, feedback can't be changed or deleted through the API. To correct or add something, send new feedback.


The feedback object

  • Name
    id
    Type
    string
    Description

    Unique identifier of the feedback.

  • Name
    workspace
    Type
    string
    Description

    ID of the workspace the feedback belongs to.

  • Name
    service
    Type
    dict
    Description

    The service the feedback is about: id, slug and name.

  • Name
    operation
    Type
    dict
    Description

    The operation the feedback is about: slug and name, or null.

  • Name
    created_by
    Type
    string
    Description

    ID of the user who sent the feedback, or null if that account no longer exists.

  • Name
    result
    Type
    string
    Description

    What was wrong with the result.

  • Name
    expected_result
    Type
    string
    Description

    What you expected instead.

  • Name
    status
    Type
    string
    Description

    NEW when sent, IN_REVIEW while we look into it, then RESOLVED or REJECTED.

  • Name
    images
    Type
    list
    Description

    The attached images, each with its id and url. Read the images from the url of a fresh response, because the link can expire.

  • Name
    created
    Type
    string
    Description

    When the feedback was sent (ISO 8601).

  • Name
    modified
    Type
    string
    Description

    When the feedback last changed (ISO 8601).


POST/feedback/v2/feedback/

Send feedback

Sends feedback on a service. The request is multipart/form-data, not JSON; to attach several images, repeat the images field.

Required attributes

  • Name
    service_slug
    Type
    string
    Description

    Slug of the service, for example collectibles-recognition.

  • Name
    result
    Type
    string
    Max
    Maximum:5000
    Description

    What was wrong with the result. Pasting the part of the response that was wrong helps us the most.

  • Name
    expected_result
    Type
    string
    Max
    Maximum:5000
    Description

    What you expected instead.

Optional attributes

  • Name
    operation_slug
    Type
    string
    Description

    Slug of the operation, from the operations of the service.

  • Name
    images
    Type
    file
    Description

    Up to 5 images of up to 7 MiB each: JPEG, PNG, TIFF, BMP, WebP or GIF.

Returns

The new feedback with HTTP status 201. You can send up to 30 feedbacks per hour; above that, the API answers 429.

Request

POST
/feedback/v2/feedback/
curl --location 'https://api.ximilar.com/feedback/v2/feedback/' \
--header 'Authorization: Token __API_TOKEN__' \
--form 'service_slug="collectibles-recognition"' \
--form 'result="The card was identified as Charizard ex 125, but it is a different card."' \
--form 'expected_result="Charizard ex 054 from Paldean Fates."' \
--form 'images=@"/path/to/front.jpg"' \
--form 'images=@"/path/to/back.jpg"'

Response

{
  "id": "3d1f7a52-8c04-4e6b-b1d9-6a2e5f0c9b17",
  "workspace": "22dcb974-5920-410a-8f9a-70a9a3b4abf0",
  "service": {"id": 27, "slug": "collectibles-recognition", "name": "Collectibles Recognition"},
  "operation": null,
  "created_by": "84365d49-81ab-46c1-b784-ce1986d871d9",
  "result": "The card was identified as Charizard ex 125, but it is a different card.",
  "expected_result": "Charizard ex 054 from Paldean Fates.",
  "status": "NEW",
  "images": [
    {"id": "408ed929-78d1-4813-a9af-2f151d25f5bb", "url": "https://..."},
    {"id": "a27c6e10-93b5-4d48-8f62-1c7d0e4ab395", "url": "https://..."}
  ],
  "created": "2026-10-30T13:20:45.822492Z",
  "modified": "2026-10-30T13:20:45.822492Z"
}

GET/feedback/v2/feedback/

List feedback

Lists the feedback of the workspace, newest first, a page at a time.

Optional attributes

  • Name
    service_slug
    Type
    string
    Description

    Only feedback on the service with this slug.

  • Name
    service_id
    Type
    integer
    Description

    Only feedback on the service with this ID.

  • Name
    operation_slug
    Type
    string
    Description

    Only feedback on the operation with this slug.

  • Name
    status
    Type
    string
    Description

    Only feedback in this status: NEW, IN_REVIEW, RESOLVED or REJECTED.

  • Name
    page
    Type
    integer
    Default
    Default:1
    Description

    Page number.

  • Name
    page_size
    Type
    integer
    Default
    Default:70
    Description

    Number of results per page.

Returns

count, next (URL of the next page, or null), previous (URL of the previous page, or null) and results, a list of feedback.

Request

GET
/feedback/v2/feedback/
curl -H 'Authorization: Token __API_TOKEN__' \
     'https://api.ximilar.com/feedback/v2/feedback/?service_slug=collectibles-recognition&status=NEW'

GET/feedback/v2/feedback/__FEEDBACK_ID__/

Get one feedback

Returns one feedback, for example to check its status.

Request

GET
/feedback/v2/feedback/__FEEDBACK_ID__/
curl -H 'Authorization: Token __API_TOKEN__' \
     https://api.ximilar.com/feedback/v2/feedback/__FEEDBACK_ID__/

GET/feedback/v2/feedback/operations/

List operations of a service

Lists the operations feedback on a service can name, which are the values operation_slug accepts. The list can be empty; send your feedback without an operation then.

Required attributes

  • Name
    service_slug
    Type
    string
    Description

    Slug of the service.

Returns

A list of operations, each with its slug and name. It isn't paginated.

Request

GET
/feedback/v2/feedback/operations/
curl -H 'Authorization: Token __API_TOKEN__' \
     'https://api.ximilar.com/feedback/v2/feedback/operations/?service_slug=collectibles-recognition'

Errors

StatusMeaning
400Invalid request: a missing or too long text, an unknown service or operation, or an image that is too large, of an unsupported type, or one too many. The body names the field.
401Missing or invalid API token.
403Your account doesn't have access to this service or workspace.
404The feedback doesn't exist.
405The method isn't allowed: feedback can't be changed or deleted.
415The request isn't multipart/form-data.
429Too much feedback sent — retry later.

A 400 body lists the problem under each field:

{"service_slug": ["Unknown service."]}

Was this page helpful?