jsonapi - Invalid links object on create request for parent and child records

Viewed 656

I'm trying to write an API endpoint for creating Redemptions in my app.

In Rails, my model is such that Redemption has many Items (class_name: RedemptionItems).

Here's my POST Body, following what I assume is the correct JSONAPI Specification (since there is no explicit spec for creating parent and child records in one request).

{
  "data": {
    "type": "redemptions",
    "relationships": {
      "items": {
        "data": [{
            "type": "items",
            "attributes": { "offer_id": "1", "quantity": "2" }
          },
          {
            "type": "items",
            "attributes": { "offer_id": "1", "quantity": "3" }
          },
          {
            "type": "items",
            "attributes": { "offer_id": "123", "quantity": "3" }
          }
        ]
      }
    }
  }
}

I'm using JSONAPI::Resources. I have defined my JSONAPI::Resources thus:

class Platform::Api::Members::RedemptionItemResource < JSONAPI::Resource

  model_name 'Platform::RedemptionItem'

  has_one :redemption

end


class Platform::Api::Members::RedemptionResource < JSONAPI::Resource

  model_name 'Platform::Redemption'

  has_many :items, class_name: 'RedemptionItem'

end

It's currently giving me an inavlid links object error, which doesnt tell me anything on how I must improve my request body.

{
  "errors": [
    {
      "title": "Invalid Links Object",
      "detail": "Data is not a valid Links Object.",
      "code": "115",
      "status": "400"
    }
  ]
}
0 Answers
Related