Publish a pick for a package

POST /pick/tipster/publish/

Operation ID: create_pick_via_api

Create and publish a new pick via the API using the provided API key for each tip package. This endpoint allows tipsters to publish picks to their subscribers.

Request Body

{
  "apikey": "your_package_api_key_here",
  "tips": [
    {
      "competition": {
        "name": "BELMONT",
        "code": "Galloping",
        "event_number": 6
      },
      "market": "Fixed Win",
      "selection": "3",
      "odds": 2.5,
      "amount_units": 1,
      "confidence": "High",
      "analysis": "Strong form line with favorable track conditions",
      "start_time": "2024-01-24T21:00:00+11:00"
    },
    {
      "competition": {
        "name": "FLEMINGTON", 
        "code": "Galloping",
        "event_number": 8
      },
      "market": "Fixed Place",
      "selection": "7",
      "odds": 1.8,
      "amount_units": 2,
      "confidence": "Medium",
      "analysis": "Consistent performer with good place record",
      "start_time": "2024-01-24T21:30:00+11:00"
    }
  ]
}

Parameters

Field
Type
Required
Description

apikey

string

Yes

API key for the package

tips

array

Yes

Array of PickCreateTipQ objects containing tip details

Tip Object (PickCreateTipQ)

Field
Type
Required
Description

competition

object

Yes

Competition details

competition.name

string

Yes

Venue name (e.g., "BELMONT")

competition.code

string

Yes

Racing code: "Galloping", "Harness", "Greyhounds"

competition.event_number

integer

Yes

Race number

market

string

Yes

Market type (e.g., "Fixed Win", "Fixed Place")

selection

string

Yes

Runner number or selection

odds

number

Yes

Recommended odds

amount_units

number

No

Betting units (1-5 scale typically)

confidence

string

No

Confidence level: "Low", "Medium", "High"

analysis

string

No

Brief analysis or reasoning for the pick

start_time

string

No

Race start time in ISO format

Response

Success Response (200)

{
  "status": "success",
  "message": "Pick published successfully",
  "package_name": "Premium Racing Tips",
  "picks_published": 2,
  "subscriber_count": 150,
  "timestamp": "2024-01-24T20:45:00+11:00",
  "pick_details": [
    {
      "pick_id": 12345,
      "competition": "BELMONT R6",
      "selection": "3",
      "market": "Fixed Win",
      "odds": 2.5,
      "status": "published"
    },
    {
      "pick_id": 12346,
      "competition": "FLEMINGTON R8", 
      "selection": "7",
      "market": "Fixed Place",
      "odds": 1.8,
      "status": "published"
    }
  ],
  "delivery_stats": {
    "successful_deliveries": 148,
    "failed_deliveries": 2,
    "delivery_rate": 98.7
  }
}

Error Responses

  • 400 Bad Request - Invalid request data or missing required fields

  • 401 Invalid credentials - Authentication token is invalid or missing

  • 403 Invalid package API Key - The provided API key is invalid or not authorized

  • 404 Competition or market is unavailable - Specified competition or market not found

  • 406 Invalid data syntax - Request data format is incorrect

  • 500 Internal error - Server encountered an error processing the request

Usage Examples

Single Pick:

curl -X POST "https://betmatic.app/api/pick/tipster/publish/" \
  -H "Content-Type: application/json" \
  -H "Authorization: Token your_token" \
  -d '{
    "apikey": "your_package_api_key",
    "tips": [
      {
        "competition": {
          "name": "BELMONT",
          "code": "Galloping",
          "event_number": 6
        },
        "market": "Fixed Win",
        "selection": "3",
        "odds": 2.5,
        "amount_units": 1,
        "confidence": "High",
        "analysis": "Strong recent form with favorable conditions"
      }
    ]
  }'

Multiple Picks:

curl -X POST "https://betmatic.app/api/pick/tipster/publish/" \
  -H "Content-Type: application/json" \
  -H "Authorization: Token your_token" \
  -d '{
    "apikey": "premium_racing_key",
    "tips": [
      {
        "competition": {
          "name": "BELMONT",
          "code": "Galloping", 
          "event_number": 6
        },
        "market": "Fixed Win",
        "selection": "3",
        "odds": 2.5,
        "amount_units": 2
      },
      {
        "competition": {
          "name": "FLEMINGTON",
          "code": "Galloping",
          "event_number": 8
        },
        "market": "Fixed Place",
        "selection": "7", 
        "odds": 1.8,
        "amount_units": 1
      }
    ]
  }'

Potential Use Cases

  1. Professional Tipster Services: Publish picks to paying subscribers

  2. Automated Pick Distribution: Integrate with analysis systems to auto-publish picks

  3. Multi-Package Management: Publish different picks to different subscriber packages

  4. Scheduled Publishing: Publish picks at optimal times for subscriber engagement

  5. Performance Tracking: Track pick performance across different packages

  6. Subscriber Engagement: Provide regular, high-quality picks to maintain subscriptions

  7. Market Coverage: Cover multiple racing codes and markets for comprehensive service

  8. Premium Services: Differentiate premium packages with exclusive picks

Authentication

This endpoint requires authentication. Include your token in the Authorization header:

Authorization: Token your_token_here

Important Notes

  • API Key Validation: Each API key is associated with a specific tip package

  • Competition Validation: Competitions and markets must be valid and available

  • Subscriber Delivery: Picks are automatically delivered to all package subscribers

  • Pick Timing: Consider race start times when publishing picks

  • Quality Control: Ensure pick quality to maintain subscriber satisfaction

  • Rate Limiting: Be mindful of publishing frequency to avoid overwhelming subscribers

Best Practices

  1. Pre-Alert First: Send pre-alerts before publishing picks for better engagement

  2. Quality Over Quantity: Focus on high-quality picks rather than volume

  3. Consistent Timing: Publish picks at consistent times for subscriber expectations

  4. Detailed Analysis: Include meaningful analysis to add value for subscribers

  5. Appropriate Units: Use betting units consistently to help subscribers with bankroll management

  6. Market Validation: Verify markets and competitions are available before publishing

  7. Error Handling: Implement proper error handling for failed publications

  8. Subscriber Feedback: Monitor subscriber engagement and adjust strategy accordingly

Integration Examples

Python Integration:

import requests
from datetime import datetime, timedelta

def publish_pick(api_key, auth_token, tips):
    url = "https://betmatic.app/api/pick/tipster/publish/"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Token {auth_token}"
    }
    data = {
        "apikey": api_key,
        "tips": tips
    }
    
    response = requests.post(url, json=data, headers=headers)
    return response.json()

# Example usage
tips = [{
    "competition": {
        "name": "BELMONT",
        "code": "Galloping",
        "event_number": 6
    },
    "market": "Fixed Win",
    "selection": "3",
    "odds": 2.5,
    "amount_units": 1,
    "confidence": "High"
}]

result = publish_pick("your_api_key", "your_auth_token", tips)
print(f"Published {result.get('picks_published', 0)} picks to {result.get('subscriber_count', 0)} subscribers")

Last updated