Developer CenterTroubleshooting

    Troubleshooting Guide

    Resolving common issues and errors when working with the Metro 2® Credit Reporting API.

    Authentication Issues

    401 Unauthorized Errors

    If you're receiving 401 Unauthorized errors, there's an issue with your API authentication.

    Possible Causes:

    • Invalid API key or token
    • Expired API token
    • Using a sandbox key in production (or vice versa)
    • Missing or improperly formatted Authorization header

    Solutions:

    • Verify your API key is correct and active in the dashboard
    • Ensure the Authorization header is properly formatted: Authorization: Bearer YOUR_API_KEY
    • Check that you're using the correct environment key (sandbox vs. production)
    • Generate a new API key if necessary

    403 Forbidden Errors

    A 403 Forbidden error indicates that your authentication was successful, but you don't have permission to access the requested resource.

    Possible Causes:

    • Your account hasn't been approved for data furnishing yet
    • You're trying to access a feature not included in your plan
    • Your account has been suspended

    Solutions:

    • Check your account status in the dashboard
    • Verify your subscription plan includes the feature you're trying to use
    • Contact support if you believe this is an error

    Validation Errors

    422 Unprocessable Entity Errors

    A 422 error indicates that your request was well-formed but contains validation errors that prevent processing.

    Common Validation Errors:

    ErrorSolution
    Missing required fieldsCheck the error response for specific field names and ensure all required fields are included.
    Invalid field formatEnsure fields match the expected format (e.g., dates in MMDDYYYY format, correct code values).
    Invalid code valuesVerify that codes (e.g., Portfolio Type, Account Status) are valid according to the Metro 2® specifications.
    Cross-field validation failuresSome fields are required only in specific scenarios. Check the API Reference for conditional requirements.
    Field length exceededTruncate fields to their maximum allowed length as specified in the API Reference.

    Troubleshooting Tips:

    • Use our validation tool to pre-validate your data
    • Start with a small batch of data to identify common issues
    • Review the error response details, which include the record index and specific field causing the error
    • Consult the API Reference for detailed field requirements

    Rate Limiting Issues

    429 Too Many Requests Errors

    A 429 error indicates that you've exceeded the API rate limits.

    Rate Limits:

    • Production: 10 requests per minute, up to 1,000 records per request
    • Sandbox: 5 requests per minute, up to 100 records per request

    Solutions:

    • Implement retry logic with exponential backoff
    • Check the X-RateLimit-Reset header to know when to retry
    • Batch requests to maximize efficiency (send more records per request)
    • Spread out your submissions over time
    • Contact support if you need higher rate limits
    Sample Retry Logic (JavaScript):
    async function submitWithRetry(data, maxRetries = 3) {
      let retries = 0;
    
      while (retries < maxRetries) {
        try {
          const response = await apiClient.post('/submit-metro2-data', data);
          return response.data;
        } catch (error) {
          if (error.response?.status === 429) {
            // Get reset time from headers or use exponential backoff
            const resetTime = error.response.headers['x-ratelimit-reset'] || 0;
            const delayMs = resetTime ?
              (new Date(resetTime).getTime() - Date.now()) :
              Math.pow(2, retries) * 1000;
    
            console.log(`Rate limited. Retrying in ${delayMs}ms`);
            await new Promise(resolve => setTimeout(resolve, delayMs));
            retries++;
          } else {
            // For other errors, don't retry
            throw error;
          }
        }
      }
    
      throw new Error('Max retries exceeded');
    }

    Other Common Issues

    Batch Processing Issues

    Issues related to submitting and tracking large batches of data.

    Symptoms:

    • Long processing times
    • Batch status stuck in "processing"
    • Missing or incomplete batch results

    Solutions:

    • Use the /batch-status/{batch_id} endpoint to check batch status
    • Implement webhook notifications for batch completion
    • Break very large submissions into smaller batches (500-1000 records each)
    • Allow sufficient processing time (larger batches can take several minutes)

    Account Linking Issues

    Problems with account history continuity after account number changes.

    Symptoms:

    • Account history appears to reset after account number change
    • Duplicate accounts appearing on credit reports
    • Loss of account age/history

    Solutions:

    • Use the L1 segment when reporting account number changes
    • Report the L1 segment only once, then use the new account number for subsequent reports
    • Ensure both the old and new account numbers are accurate in the L1 segment
    • See our Account Number Changes guide for detailed instructions

    Debugging Tools

    We provide several tools to help you debug and troubleshoot issues with your API integration:

    Metro 2® Validator

    Validate your Metro 2® JSON data against our schema without making API calls.

    Validator Tool (Coming soon)

    API Logs

    View detailed logs of your API requests, responses, and errors in your dashboard.

    API Logs (Coming soon)

    Need Additional Help?

    If you're still experiencing issues, our support team is ready to assist. Please provide the following information when contacting support to help us resolve your issue quickly:

    • Your account ID or company name
    • Request timestamps and batch IDs (if applicable)
    • A sample of the request data causing issues (with sensitive information removed)
    • Error messages and response codes received
    • Steps you've already taken to resolve the issue
    Contact Support