Skip to content
LinqCopy agent prompt

Start a line reputation audit

client.PhoneNumbers.StartReputationAudit(ctx, phoneNumber) (*ReputationAuditStarted, error)
POST/v3/phone_numbers/{phoneNumber}/reputation_audit

Starts an asynchronous reputation audit for a line and returns an audit_id. Poll the GET endpoint for the result.

Rate limited per line: only one audit may run at a time (a second request returns 409 while the first is still in progress), and a new audit can’t be started for the same line until a cooldown elapses (429, with Retry-After carrying the wait).

ParametersExpand Collapse
phoneNumber string
ReturnsExpand Collapse
type ReputationAuditStarted struct{…}
AuditID string

Identifier for this audit. Poll GET /v3/phone_numbers/{phoneNumber}/reputation_audit/{auditId} until status is complete or error.

Status ReputationAuditStartedStatus

A newly started audit is pending.

One of the following:
const ReputationAuditStartedStatusPending ReputationAuditStartedStatus = "pending"
const ReputationAuditStartedStatusComplete ReputationAuditStartedStatus = "complete"
const ReputationAuditStartedStatusError ReputationAuditStartedStatus = "error"

Start a line reputation audit

package main

import (
  "context"
  "fmt"

  "github.com/linq-team/linq-go"
  "github.com/linq-team/linq-go/option"
)

func main() {
  client := linqgo.NewClient(
    option.WithAPIKey("My API Key"),
  )
  reputationAuditStarted, err := client.PhoneNumbers.StartReputationAudit(context.TODO(), "phoneNumber")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", reputationAuditStarted.AuditID)
}
{
  "audit_id": "audit_id",
  "status": "pending"
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2013,
    "message": "This chat is unavailable",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2013/"
  },
  "success": false
}
{
  "error": {
    "status": 429,
    "code": 1007,
    "message": "Rate limited. Try again in 45 seconds.",
    "doc_url": "https://docs.linqapp.com/error/codes/1xxx/1007/",
    "retry_after": 45
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}
Returns Examples
{
  "audit_id": "audit_id",
  "status": "pending"
}
{
  "error": {
    "status": 401,
    "code": 2004,
    "message": "Unauthorized - missing or invalid authentication token",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2004/"
  },
  "success": false
}
{
  "error": {
    "status": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 409,
    "code": 2013,
    "message": "This chat is unavailable",
    "doc_url": "https://docs.linqapp.com/error/codes/2xxx/2013/"
  },
  "success": false
}
{
  "error": {
    "status": 429,
    "code": 1007,
    "message": "Rate limited. Try again in 45 seconds.",
    "doc_url": "https://docs.linqapp.com/error/codes/1xxx/1007/",
    "retry_after": 45
  },
  "success": false
}
{
  "error": {
    "status": 500,
    "code": 3006,
    "message": "Internal server error",
    "doc_url": "https://docs.linqapp.com/error/codes/3xxx/3006/"
  },
  "success": false
}