openapi: 3.1.0 info: title: billing-api Accounts Offers API version: '4' description: Retrieve billing accounts and affiliate commission transactions across currencies. servers: - url: https://api.usebutton.com/v1/affiliation security: - sec0: [] tags: - name: Offers paths: /v1/offers: post: summary: Offers description: Obtain real-time rates/offers available to a Publisher user. operationId: offers requestBody: content: application/json: schema: type: object required: - user_id properties: user_id: type: string description: Publisher’s ID for the user, a string between 1 and 255 characters long in the ASCII range [0x21-0x7E]. This should be the same ID that is passed into the Button SDK when configuring user attribution. device_ids: type: array description: 'List of device advertising IDs associated with the user. These must be either IDFAs for iOS or GAIDs for Android. Trim any whitespace in device advertising ID prior to passing it to the API. Note: The API accepts at most 10 combined identifiers (email hashes + device IDs).' items: type: string email_sha256s: type: array description: 'List of SHA256 email hashes (as a 64-character hex string) associated with the user. Downcase and trim any whitespace of the email address prior to hashing. Note: The API accepts at most 10 combined identifiers (email hashes + device IDs).' items: type: string merchant_id: type: string description: Brand organization ID with which to restrict user offers. default: optional responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"meta\": {\n \"status\": \"ok\"\n },\n \"object\": {\n \"merchant_offers\": [\n {\n \"merchant_id\": \"org-123\",\n \"offers\": [\n {\n \"id\": \"offer-XXX\",\n \"rate_percent\": \"4.5\",\n \"display_params\": {\n \"category\": \"Video Games\",\n \"offer_type\": \"category\",\n },\n \"rank\": 1\n },\n {\n \"id\": \"offer-YYY\",\n \"rate_percent\": \"2\",\n \"display_params\": {\n \"offer_tag\": \"promotional\"\n },\n \"rank\": 2\n },\n {\n \"id\": \"offer-ZZZ\",\n \"rate_fixed\": \"1.00\",\n \"currency\": \"USD\",\n \"display_params\": {},\n \"rank\": 3\n }\n ]\n }\n ]\n }\n}" deprecated: false x-readme: code-samples: - language: curl code: "curl https://pubapi.usebutton.com/v1/offers \\\n -X POST \\\n -u YOUR_API_KEY: \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"user_id\": \"some-user-id\",\n \"device_ids\": [\"123\"],\n \"email_sha256s\": [\"1234567a1234567a1234567a1234567a1234567a1234567a1234567a1234567a\"]\n }'" samples-languages: - curl tags: - Offers components: securitySchemes: sec0: type: http scheme: basic